Change 'iota' syntax to allow spaces

For example, [ 1 ..] was allowed but not [ 1 .. ]. That is, "..]" was a
token, and now it's ".." followed by "]".
Make all Verified* type class methods total

We generally want proofs to be total.
:compile now can take a codegen option (e.g. :compile javascript program.js)
whitespace
:compile now obeys --codegen flag
Added Haddock to a function
Added more Haddock
Merge remote-tracking branch 'upstream/master' into idrisdoc
Namespaces only containing private members is now correctly considered empty
Allow comments in .ipkg files
Updated test idrisdoc006 to give more information usable on failure.
Rule out more cases in 'recoverable'

Fixes #1136
Merge branch 'master' of github.com:idris-lang/Idris-dev
Updated idrisdoc006 to be more throughly
Added IdrisDoc test which verifies inclusion of abstract and public namespace members
Parse _|_ as a name in :doc

Fixes #1128.
Merge pull request #1135 from david-christiansen/nicola-stuff

Comments in .ipkg files and :doc works for _|_
Merge branch 'repl'

Conflicts:
	CHANGELOG
	src/Idris/AbsSyntaxTree.hs
Merge pull request #1137 from reynir/iota-syntax

Change 'iota' syntax to allow spaces
Merge pull request #1133 from raichoo/repl

Make :compile obey --codegen flag