Fix settings.py to use the correct databases

There was a bug in using "is" instead of "==" to compare hostnames, and
using next() on a list instead of an iterator.
Merge branch 'unstable' of https://github.com/ARmadillo-reuse/api-server
Fix permission error when checking branch

Use the directory name instead of calling out to git to determine whether to
select the stable or unstable database.
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.
Merge pull request #4 from shaladi/dev

Set up the basis server functions
Merge pull request #5 from alexkonradi/basic-email-parsing

Basic email parsing
Merge pull request #7 from alexkonradi/building-locations

Add web_api.location.ItemPostLocator
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