Don't clone constant expressions when cloning value types.

This only really has an effect for 'null' values assigned to nullable value types, but it still required a whole lot of changes to tests
Made cloning of a nullable value type with the value null work (#329)
Static constructors are now emitted as closures (#330)
Fixed metadata for console class
BREAKING CHANGE: Changed String.CharAt to return 'char', and added JsCharAt that is equivalent to JavaScript's charAt (#322)
Make sure the app domain created during compilation is disposed. This might have caused a memory leak in the past
Added delegate System.Predicate (#319)
Support implicit invocation of base constructor with only default arguments (#325)
Fixed issue causing extraneous nulls to be added when using collection initializers with inline code methods
List<T>.Add now invokes the JS push method directly instead of going through ss.add() (#308)
Fixed escaping of regex literals. Previously if the pattern /\s/ occurred in inline code, it would have been emitted as /\\s/
Added method bool.Parse (#312)
Fixed operations on large (> 32 bit) values (#314)
Added radix arguments to parseInt calls
Added new attributes in order to enable binary compatibility of (non-plugin) libs with the Roslyn version
Fixed issue causing right shifts of ushort and byte to be compiled as signed shifts instead of unsigned ones and disallowed bitwise operations on 64-bit types.
Letting an exception escape from a void-returning async method that awaits other tasks will now bubble the exception all the way up (#290)
Made it an error to use await and foreach used with an expression of type `dynamic' (#287)
Type.GetType() and Assembly.GetType() now work with generic types (#307)
Updated psake