More work on code gen
Add some tests for the type inference system
Added travis