Remove incomplete and out of date attempts to provide documentation
Add doc and tests for FixedArray; fix crash when FixedArray is initialized with negative size
Add tests and doc for Float
Add tests and doc for Function
Optimization: make call_method call the method more directly, instead of creating a binding and jumping through lots of functions
Optimize method calls to perform a call_method, avoiding binding creation
Change the internal representation of EH values.

Values are now represented by objects inheriting from a common base class,
replacing the labeled union that was previously used. This let me get rid of
much of the messy macros that were previously used to implement the ehretval_t.
This change has the following visible consequences:
- Code like "File.puts.bindTo(FixedArray.new())" no longer has the potential to
  crash the interpreter.
- The use of a virtual children() method makes it easier to develop the garbage
  collector.
- printvar output is now indented properly.
- Object.isA has more intuitive behavior.

In addition, I switched to using C++11 and libc++. I've started using the
following C++11 features:
- Range-based for loops
- auto keyword
- nullptr
- std::type_index

Squashed commit of the following:

commit 762374d298a7f190c9d5909b4137d24a198b3957
Author: Jelle Zijlstra <jelle.zijlstra@gmail.com>
Date:   Wed Jan 2 18:03:41 2013 +0100

    Start moving methods from EHI to ehval_t (made possible by new smart pointer implementation)

commit ddc7982f7e0fd68167107ecea18449a8a4705c0b
Author: Jelle Zijlstra <jelle.zijlstra@gmail.com>
Date:   Wed Jan 2 13:22:49 2013 +0100

    Remove C-isms

commit 765658722ccb0b0d9af778a2ec234eec2bc84e45
Author: Jelle Zijlstra <jelle.zijlstra@gmail.com>
Date:   Wed Jan 2 13:13:19 2013 +0100

    Remove type_enum: now unnecessary

commit 630db98b4e8efc625139b06dfdb57d8205de25b4
Author: Jelle Zijlstra <jelle.zijlstra@gmail.com>
Date:   Wed Jan 2 13:07:25 2013 +0100

    I like these names beter

commit cfc7fb2b57ebc9b5f804da5a7acc64661f872e03
Author: Jelle Zijlstra <jelle.zijlstra@gmail.com>
Date:   Wed Jan 2 12:59:42 2013 +0100

    Remove some old stuff

commit 58124d24705e377220acbc4b07198f9677f87450
Author: Jelle Zijlstra <jelle.zijlstra@gmail.com>
Date:   Wed Jan 2 12:15:27 2013 +0100

    Good to test that an empty file doesn't do anything

commit e6542c977b5ccc7fbb01c9a8ed311023d1a8dba6
Author: Jelle Zijlstra <jelle.zijlstra@gmail.com>
Date:   Wed Jan 2 12:10:04 2013 +0100

    Add new file

commit 2049fb83af09b40dd2b44be1ed4c16b25848b2ca
Author: Jelle Zijlstra <jelle.zijlstra@gmail.com>
Date:   Wed Jan 2 12:09:43 2013 +0100

    This now works

commit b7ced8ed468664576ab6b95f135177f5ba282e31
Author: Jelle Zijlstra <jelle.zijlstra@gmail.com>
Date:   Wed Jan 2 12:09:33 2013 +0100

    Fix another failing test

commit 7eb4ae8fd8fa38676eb0877749ae88ff73b782ca
Author: Jelle Zijlstra <jelle.zijlstra@gmail.com>
Date:   Wed Jan 2 12:08:39 2013 +0100

    Further fixes: start making Binding a real class, rather than hackishly pretending it is a Function; some changed behavior of isA that seems to be an improvement rather than a failure

commit 5317236595a69a1311bde97b8a7178b1145f170b
Author: Jelle Zijlstra <jelle.zijlstra@gmail.com>
Date:   Wed Jan 2 11:54:42 2013 +0100

    Further bug fixes: toInt -> toInteger

commit db9ed57e0d9f4aa66a880bb8d7e6b4f3a74f9ce0
Author: Jelle Zijlstra <jelle.zijlstra@gmail.com>
Date:   Wed Jan 2 11:33:37 2013 +0100

    Various bug fixes, and fix tests

commit e773ef74bc23df525f4fc65f4d9889b21392f744
Author: Jelle Zijlstra <jelle.zijlstra@gmail.com>
Date:   Wed Jan 2 10:47:34 2013 +0100

    Start large rewrite: represent EH values using inheritance rather than a labeled union

commit ba61445660c41c2696c99c1e1e446cbacf2c4486
Author: Jelle Zijlstra <jelle.zijlstra@gmail.com>
Date:   Mon Dec 31 11:28:36 2012 +0100

    Fix bug in Iterable.merge

commit 3b61010e61456853900894c5c42497475c2e251f
Author: Jelle Zijlstra <jelle.zijlstra@gmail.com>
Date:   Sun Dec 30 10:41:34 2012 +0100

    No need for static method