Added a warning for variables that are defined twice in the same
scope. (variables are essentially constants.)
Fixed bug in mixins with parameters. Parameters defined without
defaults could not be seperated with commas.

'.mixin(@a @b)' worked, '.mixin(@a: 1px, @b: 1px)' worked but
'.mixin(@a, @b)' did not.
Added support for mixin parameters seperated by ';'.
Updated checks on function arguments so an exception is thrown when
the type is wrong.