Move EmailParser to web_api.processing package
Add reply and signature removal to EmailParser

Both of these capabilities are pretty basic; they just look for patterns
and use those to remove chunks of messages. Signatures are identified
either by a line of dashes or similar, or, failing that, by a set of
simple heuristics that appear to work fairly well. The test suite was
expanded to include test cases for these specific features.
Rename EmailParser as EmailPreProcessor
Fix bug in EmailPreProcessor

Certain messages were causing infinite recursion, which is bad. The error
was caused by assuming that all paths through
EmailPreProcessor#strip_reply either reduced the amount of text or
returned (one of them didn't).
Add EmailParser, implement parse_email_thread
Add thread detection to EmailParser

It currently uses just the subject, and returns an EmailThread object if
one is found, or None otherwise.
Parse Apple Mail emails correctly

Of course, it makes perfect sense to nest multipart messages inside
multipart messages. No problem. The chosen solution is just to parse the
first multipart part recursively.
Add web_api.location.ItemPostLocator

With a known list of buildings (copied from
floorplans.mit.edu/cgi-bin-db-any/wdbanyscript.asp?Report=bl&Item=OWNED),
ItemPostLocator returns a dictionary with 'lat' and 'lon' keys for a given
item, or None if it can't locate that item.
Attempt basic email type parsing

Three simple rules:
 1. If an email doesn't have a thread, it's a NewPostEmail
 2. If there is a "[PREP] (room)? [BUILDING#]" phrase, it's a NewPostEmail
 3. Othewise, it's a ClaimedItemEmail

It seems to work most of the time.
ready for stable server
activated admin page
Merge pull request #8 from shaladi/pre-stable

Prepped unstable for merge into stable