Fix join and append with a separator. (Thanks to QuLogic)

The separator is a text string signifying what to use, not the actual
separator itself.
Add the 'index' function. (Thanks to QuLogic)
Fix a typo. I don't think keys()==values(). (Thanks to QuLogic)
Fix the 'append' function. (Thanks to QuLogic)

The append function, unlike join, always add a single item to the end
of the list, even if that new item is already a list.
Fix some gradient expansions. (Thanks to QuLogic)

The ListValue class constructor doesn't know how to handle a generator,
and tried converting it into a string, which just gives you the internal
name/pointer.
Show a better error if no colour stops given to -gradient functions. (Thanks to QuLogic)
Add bool checks in compact. and fix the 'compact' function. (Thanks to QuLogic)

It appears to only remove 'false', and no other false-like values.
Fix the reject function. (Thanks to QuLogic)

This function checks if each value in the list is 'not in' the
rejection list. However, the rejection parameter was never guaranteed
to be a list-type.
Fix the __compass-list function. (Thanks to QuLogic)

The dictionary in a ListValue class is in the value member, not
itself.
Fix the invert function. (Thanks to QuLogic)
Add skew function from CSS3 3D Transforms list. (Thanks to QuLogic)
Fix the @if statement. (Thanks to QuLogic)

Similar to the compact function, stuff should only be removed if it's
false, and not false-like.