Document and unit-test signals.

Adds documentation to api.rst for all the signals issued.
Adds a bunch of unit-tests to confirm and validate signal behaviour.

This should address https://github.com/mattupstate/flask-security/issues/61.