Improve position mixin

It works like if you use margin. It has support for shorthands and has null property to avoid values if you only wanna set some of the values.

Squash at will
It looks like you're reimplementing the [`unpack()` function](http://bourbon.io/docs/#unpack) here (See [line 8](https://github.com/thoughtbot/bourbon/blob/master/app/assets/stylesheets/addons/_position.scss#L8) in the removed diff).

Is there a reason why you decided to do this?