Makefile improvements

- Set phony targets
- Don't delete visualsearch.css
- Make ./bootstrap the default target
- Make clean never error (xargs -r)

Close #1185
Test suite setuptools integration with pytest
Improve test runner documentation in README.rst
Missing condition for reply notification condition list

Found by unitt testing
Update annotator dependency

Includes backport of openannotation/annotator#200 fix. Lines removed
from flash.coffee as they are now obsolete.
Stack notifications at the top

Close #479
Fix horus view overrides

Correct the mis-registration of all auth related horus views as
AuthController, when they use three different controllers.
Removed useless class variable

AnnotationNotifier never uses the store variable.
Add unit tests for Notifier

This commit creates test cases for:
- NotificationTemplate
- AnnotationNotifier
- ReplyTemplate
- send_notifications()
PEP8 comment whitespace
Trim pytest discovery

Close #1189
In notifier tests, improve pylint

Make some small improvements to clean up the notifier tests.

- Use pylint symbolic names for disables because they are easier to
  understand when reading.
- Disable no-self-use at the NotifierTest class block level so that
  all tests can be written as methods without lint warnings.
- Fix some long lines
- Shorten test names. These become more readable this way as well.
- Remove unnecessary reassignment of h.notifier classes as test class
  attributes `rtemp` and `ntemp'.
More lint improvements in tests
Overhaul horus view handling

Refactor the views module to limit code exposure to horus.

- Implement a view mapper that acts on the horus class-based form
  views to coerce the result to a dictionary. This mapper pulls most
  of the request and response munging away from the horus view logic
  overrides, which are left as simple subclasses. Page views for horus
  now fire login/logout events and work around eventray/horus#43 for
  password resets.
- Improve error reporting by showing flash messages only for colander
  errors, letting horus handle the rest. Remove corresponding hack in
  client-side flash handling.