Update em_margin mixin

Changes: 
- updated the `em_margin` mixin to accept `auto` as an argument. 
- added mixins for `em_margin_top/right/bottom/left` for situations where you need to alter a single margin without affecting previously set ones.
- Changed the layout of the other mixins. I think this makes it easier to read. Feel free to call me crazy. I'll respond with : 
![boxer](https://cloud.githubusercontent.com/assets/4861202/5208146/67eea83a-757f-11e4-8345-290554961759.jpg)