commented BC in Bytecode.hs
EXPERIMENTAL uniqueness types

Added a universe, UniqueType - any variable of this type can only be
referred to once. This guarantees they will not be shared, so can safely
be destructively updated (though this is not implemented by this patch).
Make top level type 'Type*'

UniqueType : Type 1
Type : Type 1

Type* indicates that either UniqueType or Type is allowed (which means
uniqueness must be preserved in the definition)
Check constructor kinds for uniqueness errors
Cache uniqueness information in NameType

This'll help build destructive case trees
Mark 'case' on unique types as updatable
Propagate CaseType through IRs
Propagate constructor updates to bytecode

(Not yet searching for which variables are safe to update in place
though)
Open files in binary mode
Stop erasing binder types in executor
Do some inlining in Lang IR

In particular, inline 'case' blocks
Inline with blocks
Require that arguments to case blocks be reduced

Fixes #1474.
Better errors from executor
Support the RTS function idris_time in executor
More informative provider error
Find updatable constructors after destructive case
Don't keep allocating nullary constructors
Merge pull request #1475 from david-christiansen/testing-postulates-work

Executor improvements
Add completion support for newer command arg types

Fixes #1477.