Add bash completion file for Idris

This is far from perfect, but seems to work reasonbly well.

Also, the targets/libraries should probably not be hardcoded, but at this point
it's not clear how to dynamically generate this.

To use this add a `source $PATH_TO/idris.bash` to your `.bashrc`.

You need to have the bash-completion[1] package installed for this to work.

[1]: http://bash-completion.alioth.debian.org/
Implement 'pretty' for B{8,16,32,64}
Make primitive implementations act on Const rather than Value
Remove unused import
Allow Execute to import primitives without cycle

The executor can now import Idris.Primitives without introducing an import
cycle. This involved moving elabPrims to the ElabDecls module.
Fix spelling of Xor prims. This fixes issue #356.
Unify primitive implementations between evaluator and executor

The executor now uses the evaluator's implementations of primitives, with a
few minor special cases.
Special-case prim__believe_me

Because the unification of primitive ops required that primitives only work on
constants, believe_me needs to be special in both the evaluator and the
executor.
Add scripts

This commit adds a new command-line argument to Idris that allows an arbitrary
expression to be run in the executor. Two forms are supported:

idris Foo.idr --opt1 --exec

causes Main.main to be run after loading Foo.idr, while

idris Foo.idr --opt1 --exec expr

causes expr to be run using the executor.

This can be used to run Idris programs without having to compile them, giving
a faster startup for quick tasks. It can also be used to test the behavior of
the executor against the behavior of compiled code more easily.
Remove old ifdefs for supporting base<4 since we require base>=4
EXPERIMENTAL: Syntax for applying functions by expected type
"t <== f" applies a function f to arguments in such a way that it returns
something of type t. The <== is a placeholder syntax until someone comes
up with something better.
(Alternative: t by f, but that uses up a new keyword)
Added %unifyLog construct
For debugging purposes
%unifyLof t will give a trace of unification problems while elaborating t
Also, log levels 6 and above will give the trace
Integer literals for Fin
If the elaborator can construct a proof that it is within bounds,
integet literals can be used for Fins. Otherwise, a cryptic error
message will be given.
Update CHANGELOG to reflect recent additions and fixes
Merge pull request #354 from yfyf/add_bash_completion

Add bash completion file for Idris
Merge pull request #357 from andreas23/master

Fix spelling of Xor prims. This fixes issue #356.
Merge pull request #358 from david-christiansen/unite-the-primitives

Unite the primitives
Merge pull request #362 from david-christiansen/cmdline-exec

Add scripts
Merge pull request #364 from Ralith/base-version-cleanup

Remove old ifdefs for supporting base<4 since we require base>=4
Change Show instance for Nat to show integers