Merge pull request #7 from ashleyh/master

Fix a couple of function overloading corner cases
Make the parser runnable as a script
Erase type applications in Python gen (fix #7)
Refactor test cases
Fix type applications with overloaded functions
Erase type variables in Python gen of overloads
Minor refactoring
Make the lexer runnable as a script
Fix typo
Minor test case refactoring
Implement semantic analysis of lambdas
Add bidirectional type inference for lambdas

Errors and special cases not yet handled properly.
Fix lambda type inference special case
Minor code cleanup
Fix lambda type inference special case
Add type inference test case
Add failing (skipped) type inference test case
Fix lambda type inference special cases
Refactor type inference
Allow arg contravariance in callable subtyping