javascript: omit bounded001 test
Propagate parameters to records

Also a minor change in propagating parameters to data, for consistency.
Parameters become *implicit* arguments to constuctors (they are already
in the type after all).
Propagate function name to tactics

Handy for knowing where we are in proof search, for example
Add ManagedPtr type

A ManagedPtr is just like a Ptr, except it points to memory inside
Idris' heap, so doesn't need to be freed. This is useful when you need
to create a structure C side for interacting with a C library, but don't
want to have to explicitly free it.

Also added
registerPtr : (p : Ptr) -> (n : Int) -> ManagedPtr

This moves the n bytes pointed to by p into the Idris heap.

In a non-C backend, or one where memory is managed differently, it's
entirely reasonable for this to be compiled as a no-op. The FFI treats
both Ptr and ManagedPtr as a void* in C.
Fix missing case in CodegenJava
Merge pull request #942 from ziman/instance-ctors

Add special names for instance constructors
Merge pull request #941 from raichoo/javascript

javascript: omit bounded001 test
javascript: make FFI part of AST
javascript: add google closure annotations to AST
Merge pull request #947 from raichoo/javascript

javascript
Rename UnusedArgs to Erasure.
Remove export of traceUnused.
Simplify unused arg search.
Cleanup and purification in Erasure.hs.
More purification.
Simplification with pattern guards.
findUsed stub written.
Make ProjCase take exactly one alternative.   (TODO: is this safe?)
Intercommit. (Deeper usage analysis.)
Ctor usage analysis roughly complete.