Replace global-scope helpers finToNat and finToInteger with functions whose type signatures match the names.
Add FinZAbsurd and FinZElim.
Replace Prelude.Vect.take and Prelude.Vect.drop with versions of a saner type signature.
Replace Prelude.Vect.intersperse with a saner-typed version. Make intersperse' a proper helper function (non-exported).
Check data declarations for redefinition

It's okay if the previous definition is a type declaration and the
type is unchanged. Otherwise, it's an attempt at redefinition and
is now reported as an error.

Fixes #693
Give names for clauses generated with :addmissing

Names generated using the same machinery/heuristics as ordinary
case split generation.
Merge branch 'prelude_cleanup' of https://github.com/sjdrodge/Idris-dev into sjdrodge-prelude_cleanup
Bracket output of \o if necessary
Minor fix for variable update in case split
Set version to 0.9.10.1
Remove tutorial from idris.cabal
Fix buglet in rendering of Nat patterns in :cs
Fix bracketing problem with \o (again!)