Merge pull request #20 from kostya/master

simple time for simple benchmarks
Number literals suffixes: i32, u8, f64, etc.
Fixed call error
Added Int8 and Int16
Added the unsigned types: UInt8, UInt16, UInt32 and UInt64
Fixed integer type rank comparison
Micro-optimizations to make the specs run faster. Primitives specs are not run anymore by default (they take too long and are pretty stable now)
Positive number literals without suffix have the first type that fits: Int32, UInt32, Int64, UInt64. For negative number literals it's Int32 and Int64.
Correctly handle unsigned and float operations
Small fixes
Removed the "out" keyword from function definitions (they can still be used in calls for pointer arguments).
Inline structs inside classes.
Correct handling of "out" for instance variables.
Fixed code that used out
Renamed StructType to CStructType
Fixed out check
C unions
C enums
Correctly codegen unions and structs when they are inside other unions and structs
Fixed pointer types inside struct type
Added two pending specs
Removed the 'no-prelude' option from the compiler