Stop getArgs from crashing executor
Postulate providers

Now, type providers don't need to return a proof - they can postulate
new axioms. The intention is to connect this both to QuickCheck and to
external proof oracles, such as SMT solvers.
Control whether provider decls accept postulates

Extends the provider syntax to accept an optional "what" parameter,
which controls if it can be satisfied with just proof terms, just
postulates, or either.
Rely on generated runMain to test if a main method is present instead of hardcoded Main.main
Split out Windows versions of some rts files

This allows the introduction of Posix functionality, parallel Windows
implementations can then be put in the windows/ directory.
No need to export primitives as metavariables

...they just clutter the display.
Add rndFin

Handy to have the upper bound encoded in the type sometimes.
Add 'time' function
Add beginnings of System effect
Merge pull request #936 from david-christiansen/executor-arg-count

Stop getArgs from crashing executor
Merge pull request #937 from david-christiansen/postulate-providers

Postulate providers
Merge pull request #938 from JanBessai/JavaUseRunMain

Java back-end: Look for generated runMain
Merge pull request #939 from melted/build_win

Split out Windows versions of some rts files
javascript: omit bounded001 test
Add a special name for instance constructors.
Bump IBC version.
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