implement submitcaffeine messages

- caffeine.forms:
  - implement SubmitCaffeineForm.clean to check drink submission interval
- caffeine.models:
  - implement CaffeineManager.find_recent_caffeine to find caffeine entries in
    the minimum drink distance
- caffeine.templatetags.caffeine:
  - implement messagetags filter to filter messages with a specific tag
- caffeine.views:
  - change super class of SubmitCaffeineView from FormView to BaseFormView
  - implement SubmitCaffeineView.form_invalid to create messages from form
    errors and redirect to profile page
- coffeestats.settings.base:
  - add MINIMUM_DRINK_DISTANCE
  - override MESSAGE_TAGS
- templates/base.html:
  - don't include registerdrink messages in system-flash
- templates/profile.html:
  - add registerdrink messages above coffee/mate submission forms