Update where type inference example in tutorial
Allow type class constraints in 'using' clauses
e.g. if a using block is given as

using (C a b c)
    block

Then any declaration in the block which uses all of a, b and c in
its type will have the class constraint C a b c added implicitly.

See test027 for an example
Make the type of ierror more general

Before, ierror could only be used where Idris () was expected. However, it
should be usable in any situation as it halts execution.
Clean up implementation of type providers

The type provider elaboration has been made more readable and the supporting
Idris library has been simplified.
Further simplify of type provider elaboration

Nested "if" and "do" blocks have been eliminated.
Tiny further simplification of type provider elaboration
Add primitive type names to name completion

This is necessary because these are treated specially by the parser and are
thus not in the global definition context, from which name completion is
drawn.
vim: highlight chars and infixed functions
vim: automatically adjust tactics and metavars to colorscheme
Merge pull request #317 from david-christiansen/providers

Providers update
Merge pull request #318 from david-christiansen/completion-work

Add primitive type names to name completion
Merge pull request #320 from raichoo/vim

vim: highlight chars and infixed functions
Fix totality of updateWith/rebuildEnv in Effects
New size change graph builder
Looks at patterns, rather than case tree, and therefore finds it easier to
spot structurally smaller arguments which are more complex.
Merge branch 'master' of git://github.com/edwinb/Idris-dev into llvm2