Add abiilty to define custom breakpoints

Using the $breakpoints variable users can define media groups in case they
need additional ones or would prefer a different naming convention to the
default provided.

This commit slightly changes the logic of $push and $pull:
$push and $pull are now global toggles for push and pull instead of just
for the unprefixed version. If $responsive is set to true then the all
breakpoints defined in $breakpoint-has-push and $breakpoint-has-pull
shall have their push/pull helper classes included in addition to the
unprefixed helpers.
Tidy formatting