Adding search

There are still a few bugs and issues to sort out. But I want to get this in as an initial base demonstrating how I'm using Lucene and building my index.

This is my first time ever using Lucene, so if anyone sees any issues please point them out. I'm likely doing a lot of things incorrectly or improperly.

This will close #19 when merged.

Issues:
- Back after searching breaks due to problems with '#' in URLs and the history.js library.
- The search items should remain fixed on the screen as we navigate to different lines.
- Search currently includes parameters and local variable definitions. I don't think these are very useful results to have. I'll likely remove them from the index in the future. The .Net ReferenceSource also doesn't show these values.

Regarding 2, it does deal with Lucene fields. Fields in Lucene are basically like columns in SQL. "Document" is also a Lucene term I'm using. Each entry we add to the index is essentially considered a "Document".

Although I think we should probably be renaming this to TokenDocumentFields to specify the kind of document that these fields pertain to.