Fix block fills generation with only variables.

If the parsed block contents contains only LESS variable definitions,
the block should not be renderend. Previously this was implemented by
not returning self from Variable.parse() (contrary to it's docstring and
other plib classes). The real fix is to just check for the above
condition and return self again.
Not recurse forever if missing mixin declarations

Bail out after recursing 64 times into Deferred.parse and raise syntax
error for missing declaration to provide a meaningful error message.
Otherwise the code loops until the interpreter stack end (max
recursion depth).
Don't evaluate expression in 'font: 0/0 a;'

This is the ugliest (but valid) CSS statement since sliced bread and
Bootstrap3 makes use of it in the escaped form: 'font: ~"0/0" a;'. Add
test-cases for both variants and special treatment in Expression.parse.

Oh my...
Support CSS Device Adaptation

And the Internet Explorer specific "@-ms-viewport" used by Bootstrap3.
See http://www.w3.org/TR/css-device-adapt/ and
http://msdn.microsoft.com/en-us/library/ie/hh869615%28v=vs.85%29.aspx
Clamp rgb(R, G, B, A) to rgb(R, G, B)

This is what upstream lessc does.
Change color 'BLUE' to 'blue'

Upstream lessc only knows lowercase color names, we should stick to
that.
Proper rgba() function alpha output

The alpha value can either be a number in the range 0-1 or a percentage
(0-100%). Alpha values greater than 1 are simply dropped. Compare with
the rgba() function definition at http://lesscss.org/#reference.
Add argb() function

Used by bootstrap3. Quote from the lesscss.org documentation:

Creates a hex representation of a color in #AARRGGBB format (NOT
Android development.
Apply bootstrap3 theme CSS formatting

The previous test case was generated by lessc (upstream). Meanwhile,
lesscpy also parses it but generates slightly different (though
functionally equivalent) output. Therefore adjust the desired output so
that this test finally passes.
Support expressions in @media attributes