Get the liquid types right !
Support for switch statement.

  - This will only work for statements of the form:

    swtich (e) {
      case e1:
        ...
        break;
      case e2:
        ...
        break;
      [default:
        ...
        break;
      ]
    }

  - These are transformed to nested if-statements.
Fix for array bounds checks.

  - e[e] is now treated in a generic way: no special case for when e is an
    integer literal.
Fixing some locks examples.
Cleaning up some examples.
Updating TODO.md
Minor formatting
Fixing TC to detect functions with no return stmt.
Changes in Nano parser for better error handling

  - parseCodeFromFile is now an Either, which is handled by TC and liquid
Annotated array type fix

  - The annotation type of an array definition is strengthened with the
    top-level refinement of the infered type for that expression (that includes
    the length for array literals).
Adding the necessary externs as binders
Fix for subtyping with Top.
Merge pull request #32 from UCSD-PL/heapless_fix

Heapless fixes and switch statement support