Added support for default variables

You can now define default variables via `@var: 1px !default;`. It will
behave as `@var: 1px;` if `@var` hasnt't been defined yet. Otherwise
it will be ignored.

This is useful for frameworks (e.g. Bootstrap) which need to define
variables to work but want to allow the user of the framework to
change them without messing with the internal less-stylesheets.

Sass has this feature and it is used in the [SASS-fork of Bootstrap](https://github.com/jlong/sass-twitter-bootstrap/blob/master/lib/_variables.scss) and comes in quite handy.

This pull-request is based on #313 but with a test and the changes moved to the right places.