Allow setting flash category in validation funcs

Setting the flash category to a special value for all validation done
for the API avoids mixing messages from the website and API. We wouldn't
want errors from failed sanitation in an API call to show up on the
website (and vice-versa).
register_*: Allow overriding flash category, return bool

When calling register_coffee or register_mate from the API, we don't
want to generate flash messages that would show up in the web interface.
Also, calling these functions doesn't always succeed, and we shouldn't
just assume they do in the API.
API: Implement add-drink to add new consumptions