Merge pull request #126 from kostya/master

refactor meteor sample
Better handling of "self" type restrictions with typedef types.
Comparable is now a generic module
Fixed: union type was incorrectly calculated
Be able to compare tuples even if they have different lengths
Fixed Float#ceil
Allow to specify a fun name with a string literal
Define an Intrinsics lib with some functions provided by llvm. Make Float32#**, Float64#**, Math#sqrt(Float32) and Math#sqrt(Float64) are now implemented with these intrinsics instead of being primitives
Added more llvm intrinsics and use them in Math instead of libm functions
Use llvm intrinsic for Pointer#memcpy and Pointer#memmove
Use libc memcmp for Pointer#memcmp
Avoid C calls that deal with strings (our strings can have the zero byte)
Add FileDescriptorIO#read_nonblock

Turns on non-blocking mode on the fd, reads up to length bytes
currently available and returns them as a String. Returns Nil if
0 bytes were read. Turns of non-blocking mode afterwards.
Start io/console

First rough implemention to make cooked and raw terminal mode
available. Probably only works on Linux.
Add 2048 sample
Merge pull request #128 from MrZYX/2048_sample

2048 sample
Small changes to io/console
Small change to io/console (changed back something)
Small parser fix: "def foo x, y, &block ... end" wasn't parsed correctly
Added Int#to