Document NEWSLETTER_CONFIRM_EMAIL... settings
Add override_settings for existing tests

Some of existing tests depend on confirm email settings being set to
default values. Since in test_settings those setting are not present
default values are used and travis tests pass, but if developer would
run tests in his/hers project with non-default values of settings tests
would fail. So added override_settings to make sure each test is run
with proper settings.
Add testing of action_done in template context

Subclasses of ActionRequestView now should pass additional variable
action_done to template context. This variable should be false if email
confirmation is on because actions can not be done in
<Action>RequestView.
Add tests for requests without email confirm.

Add test_<action>_request_post_no_email methods testing:
* response status
* context variables
* db changes
* mail outbox
for subscribe, unsubscribe and update requests with email confirmation
switched off.
Move update_subscription function to Subscription.
Make subscribe() and unsubscribe() internals.

These methods should not ever be called from other
places than the current save() method, hence mark
them as internal.
Comment about reworking save().
Small syntactic cleanups.
Factored out generic components of settings.

This might be a pattern that comes in handy for
later apps.
Unify `action in ...` assertions

* Add `ACTIONS` tuple to utils.py.
* Use `utils.ACTIONS` in views.py, models.py, test_maling.py.
Refactor views

* Add `ProcessUrlDataMixin` that processes args and kwargs from url
  before dispatching request.
  
  Before processing of url data was done in `dispatch` method.
  Since value returned by `dispatch` is crucial it should always return
  result of calling `dispatch` from superclass.
  With such setup view instance attributes assigned by dispatch method
  of superclass could not be accessed while assigning attributes of
  subclass, but since this access was needed all assignments were done
  only in final subclasses, not very DRY.
  
  Solved by adding `process_url_data method` that is also called in
  `dispatch`, but now in `process_url_data` in subclass, superclass's
  `process_url_data` can be called in any place (or even not at all).
  
* Adapt `NewsletterMixin`, `ActionUserView`, `ActionRequestView`,
  `UpdateSubscriptionViev` and `SubmissionViewBase` to inheritance from
  `ProcessUrlDataMixin`.

* Add `ActionMixin` mixin retrieving action and adding it to context
  and getting proper template for given action.

* Adapt `ActionUserView`, `ActionRequestView`
  and `UpdateSubscriptionViev` to inheritance from `ActionMixin`.
Add "success" pages

* Add `ActionTemplateView` that renders a template for proper action,
  with newsletter and action in context.
* Add urls and templates with info about sent email.
* Add urls and templates with info about activation success.
* Add tests for new pages.
Add redirections for anonymous user's actions

* Add redirection after activation email is sent.
* Add redirection after action is successfully activated.
* Add redirection after action request
  for switched off email confirmation.
* Adapt templates.
* Adapt tests.