Regression fix: Adding list::apply broke list::append.

The argument checking in emitter should always grab 'self' from the first
argument given, regardless. The reason that list::append didn't break was that
the argument it gets is a complex one (a method) and so the template accesses
had something to get.

However, list::append with list[integer] meant that it took 'integer', which
had no inner types to do a template access against. So...crash.

Added a test to sanity.ly to make sure the list::append oops doesn't happen
again.
Added hash::get, call returns now handle simple templates.

hash::get is the same thing as a subscript, except it takes a param to act as
a default value instead of raising an error for a key not being found. I made
try_lookup_hash_elem into lily_try_lookup_hash_elem (it's now exported) so
that hash::get wouldn't have to duplicate code.

Also, I fixed call returns to grab the appropriate template if the return is
a template (since hash::get returns the value type of the hash given). This
works now, but eventually a full template replacement will be necessary.

This call was made for apache, since trying to grab hash elements that aren't
there fails otherwise.
So...str::htmlencode never worked for non-entities. Oops.
Added a readme for mod_lily, and a simple form example too.

The form example doesn't do much except to show that POST vars are collected
and that htmlencode works. I also snuck in some feature examples too!

A readme for mod_lily was added so that new users can figure out how to access
POST vars and suchness.