Boo LINQ implementation

An implementation of compile-time support LINQ, as found in C#.  Consists of two significant changes to the compiler:

 - LINQ syntax: The ability to parse C#-style LINQ query expressions (`from x in myCollection...`) and transform the resulting AST into a method chain
 - Lambda to Expression Tree conversion: When an inline lambda (BlockExpression) is passed to a method that expects a parameter of type `System.Linq.Expressions.Expression<Func<[params]> >` with a compatible signature, the compiler will automatically convert the BlockExpression into the appropriate Expression Tree code.
It'll be great if you could add some comment to the code explaining the reasoning behind *fixups* :)