Added support for footnotes, which I think totally works.

Also build out the Build.tag method a bit so that it can take a hash
as its last param specifiying an href, class or id. Might be good
to generalize that later, but I also like that it limits that attributes
that can be added by whitelisting them. We'll see.

I didn't break any tests by adding footnotes, and I didn't introduce any state,
which I'm stoked on (my other thought was to have a global var to load
footnotes into- ew.)

I still need to add tests for footnotes and see how robust they are.
Preliminary results look good though. So...

TODO:
 - Write footnote tests
 - Take a look at that semi-hacky respond_to?(:footnote_html) call and
   figure out if there is a cleaner way of accomplishing that branch.