Adding MACToUser model.
Adding secure_compare function.

Allows to compare strings in constant time to 
prevent timing attacks.
Adding and registering roster update handler.
Displaying roster in private area.
Styling roster display.
Adding inverse relationship to Message.author
Using RequestHandler instead of tornado.web.RequestHandler

Just a small refactoring :)
Adding mac_update_password to bitsd.conf
Removing leftover debug log.
Logging roster only at DEBUG level.
Rate limiting roster updates.
Only MAC address as primary key in MACToUser
Fixing datetime typo in @cacheable
Logging IP address from which MAC updates come.
Moving rate limit after password check to avoid /macupdate DoS
Merge branch 'master' into macroster
Lazy construction for log messages.
Per-IP rate limiting on MAC presence update.
Merge pull request #22 from BitsDevelopmentTeam/macroster

Presence list (roster)
Good job!
No Same-Origin Check