Version 0.14 of Lily. There's a fair amount of neat stuff here.

* It is now possible to import other files. This can be done using 'import x'
  or 'import x as y'. The imported file is then accessible using the name of
  it as a namespace (ex: 'import utils', 'utils::myvar', 'utils::myclass',
  etc.). This behavior was straight up copied from Python. import also
  allows multiple imports at once. No 'from x import *' support yet though.
  Finally, it is possible to load shared libraries (but only on Linux), with
  other platform support being added some time in the future.

* As a result of the above, some internal layout is now different. sys::argv
  caennot be directly used anymore. Instead, sys must be imported first. The
  same is also true for the apache mod: a script must use 'import server'
  before using server utilities. This design is intentional: Scripts are
  forced to be written agnostically toward what Lily runner they have (ex: I
  can write server.lly to provide server stuff if not running from apache).

* When a file is imported, it is never accessed in tagged mode. This removes
  the problem of 'headers already sent' as a result of importing files. This
  also has the benefit of allowing utilities written in non-tagged mode to be
  also used in server without modification.

* No more nested classes. It was an accident that these worked in the first
  place. They also interfere with...

* CLOSURES!!! The interpreter finally understands how to close over values.
  It works for function parameters, class parameters, inheritance, and with
  generic functions. Closures seem to be okay, but there may still be bugs
  within (it was the last commit).

* Dynaload is now much more useful. The builtin functions are dynaloaded now,
  as well as all Exception-derived classes. The file values (stdin, stdout,
  and stderr) are also dynaloaded. The result is a nice reduction in memory
  use in the interpreter.

* Functions now understand optional arguments. This also works with functions
  passing as arguments. Optional arguments must be literals (and not even
  constant expressions). So only integer, double, string, and bytestring can
  have optional arguments.

* The oom behavior of lily is to now abort if an allocation fails. This
  allowed simplifying a lot of internal code that was very defensive. As a
  result, aft has been removed.

* Require a return at the end of a function, instead of having a
  NoReturnError. This isn't perfect (the next release will polish it up, since
  it's currently very aggressive).

* A bytestring class is now provided. The purpose of this class is to hold
  strings which may not have \0 at the end, may have embedded \0's, or may
  have invalid utf-8. All strings should now always be valid utf-8.

* Lily now provides a file class.

* cmake is the build system now, instead of autotools. I dislike autotools.
