Wal-Mart has revealed plans to open smaller stores in the US, targeting urban markets and small towns.