Separate base into base and prelude

Everything in prelude will be imported automatically, unless given
the --noprelude option. The idea is that what counts as "Idris" is the
compiler plus the Standard Prelude. Other libraries (base, effects, etc)
are still part of the distribution, but not necessarily standard.
Merge branch 'master' of github.com:idris-lang/Idris-dev

Conflicts:
	libs/Makefile
Forgot the Makefile in prelude!

Fixes #655
Move Decidable.Equality to Prelude
Update idris.cabal for Decidable
Class method types may depend on earlier methods

Classes are now represented as dependent records, rather than simple
records. This allows type classes to capture functions and their
properties together.
Take out the TODO that's TODONE for classes!
do not run the initscript if in ideslave mode
remove auto-idris, now that the functionality is supported via ideslave
Merge pull request #660 from hannesm/no-init-ideslave

do not run the initscript in ideslave mode; also remove now unneeded auto-idris.el (since idris-mode implements that via ideslave)
Remove needless map in Core/TT

Fixes #608
Strictness improvements

Add 'NFData' instances (autogenerated using 'derive') to force complete
evaluation. Also make the context and case trees strict, since they
need to be evaluated fully when writing out the intermediate file.

Fixes #559
Compare recursively when assessing collapsibility.
Fix conj-disj in collapsibility check.
Extend forceability over recursive arguments to constructors.
Fix the `known' predicate.
Use previously forced arguments in new iterations.
Cleanup.
Fix forceable arg union at constructor targets.
Express forceability more concisely.