Fixing `in` definition in prelude
Adding examples.

  - Also making `len` a measure for every value.
Addint keyIn as invariant for object types

  - E.g { x: string } ~> { { x:string } | keyIn("x",v) }
Adding field init transformation in SSA

  this.x = e;
  ~~>
  x_CTOR_ = e;
  ....
  this.x = x_CTOR;
  return;
Adding initialization examples
test for doing poly-inst for HOF arguments
Update poly-01.ts
adding new +undefined test to truthy_test
adding tests for vararg bugfix
Adding instructions for profiling mode.
Addin .lvimrc

  - Because it took forever to get it right...
First attempt at fixing CondExpr:

  - e ? e1 : e2

    If the conditional expressioin is contextually typed as `T` then the type
    used will be:

    forall C . (c: C, x: T, y: T) => { v: T | (if (Prop(c)) then (v ~~ x) else (v ~~ y)) }

    Otherwise the type will be:

    forall C A . (c: C, x: A, y: A) => { v: A | (if (Prop(c)) then (v ~~ x) else (v ~~ y)) }

  - POSSIBLE FIX: add guards when typechecking e1 and e2 in Liquid, since we
    know that e is truthy or falsy in each case.
Adding guards when LQ TCing the parts of CondExpr

  -- Needs some cleanup
Simplifying stuff regarding conditional exprs.

  - Adding casts in TC when there is a contextual type

  - No need to cast again for base types in liquid - just do the call to
    BICondExpr.
Merge pull request #41 from UCSD-PL/truthy_test

Conditional Expressions
Merge branch 'master' into poly
Instantiating polymorphic function arguments
Adding a few more examples.
Adding a few more tests.
cleanup.js works for folders as well