honor @grid-columns by un-hardcoding grid classes; fixes #9436

Fixes #9436.
Tested on 12 and 13 columns, and it seems to do the right thing. Could probably use some more vetting.
/to @mdo

The generated CSS has 2 differences:
1. The list of classes in the common grid column styling declaration is changed because I don't know of (or it's impossible without a horrible kludge?) a way to loop over a list of strings in LESS, which would be necessary to replicate the original ordering.
2. Adds `.col-sm-push-0`, `.col-sm-pull-0`, and `.col-sm-offset-0`, since there's no special-casing of `sm`. AFAIK, they have no real effect, so there's no point in using them in handwritten code, but it's slightly nice to have them for uniformity's sake.