Add a new test runner

Adding a new test runner to make running tests easier. Test runner from
https://github.com/birdsarah/django-flexible-discover-runner
Would have used django-discover-runner but it didn't work with current tests,
used django-flexible-discover-runner which combines discover-runner with
django's default behavior. Run tests in exactly the same manner e.g.
./manage.py test publicweb but no longer need to import tests in __init__.py
but do need to maintain the naming convention of test files ending in _test.py
(or update the pattern in test_runner.py)
Add factory-boy and factories for some models.

Previously, the tests were using fixtures. Switch to using factories with
the helper library factory-boy.
New tests to replace view_test runtime: 15->0.125s

Previously, the 8 tests in view_test were taking 12 seconds to run. By removing
the dependency on the DecisionTestCase, and the user of the test client, the
run time has been dramatically reduced. NOTE - this includes three failing
tests. One looks like a bug in the code, the other two would round out the
tests but are much easier done with a small code change in views.py
If we could do this on all the tests, the test suite would drop in run time
to under 1s!!
Pass the failing tests in the new test set.

Previously there were three failing tests. Have modestly refactored models
and views to, in the case of views, make more easily testable and then added
a more end-to-end test. And in models have fixed the bug that was causing the
test to fail.
Fix newly failing un_watch test in descisions_test

This test feels un-necessary, as un_watch test is also in alt_view_test.
Add unit tests for custom_organizations

Previously there were no unit tests (that I could see) explicitly for
custom_organizations. This adds them for forms and views. The admin and urls
file seems declarative, so elected not test, the invitation backend seems
unecessary (have added a kanbancard about this).
Update add organizations to only use name.

Previously adding an organization required you to specify and email address
and a slug. Now the slug is autogenerated from the name and the email is
auto populated to be the requesting user, so that they see their newly created
organization (they can still add other members or editors later).
Update formatting for adding a new organization.

Previously, the link to add was a little hard to see, simplified by
just making a small add button next to title (hope in future to make an
inline ajax form)
Rebaselined test now that owner of new organization is always the user
that created it (not the user whose email is supplied, if there is one).
Fixed a test that's been passing for the wrong reason - in fixture, the
total # of active users happens to be equal to the # of users in the
default org (regardless of is_active value), so test was comparing size
of an irrelevant set of users with the # of watchers added to a new Decision
... and they just happened to match. When Sarah fixed the code so that
only active members of an organization get added as watchers on a new
Decision, the test started failing. Have fixed the test so that the expected
number of watchers is calculated correctly and now the test is passing for the right
reasons!
Make title reflect usage of template (are we editing an existing
Organization or creating a new one?) and hide all but Organization's
name.
https://aptivate.kanbantool.com/boards/5986-econsensus#tasks-1603201
Remove unnecessary import
Merge pull request #118 from jogwen/edit_org_fixes

Fix Organization edit screen https://aptivate.kanbantool.com/boards/5986-econsensus#tasks-1603201
Only show Delete if owner, Edit if Admin in organization admin view
Django organizations version number updated, organization_detail only tests for owner
Merge pull request #119 from philmcmahon/only-owner-delete

Only show Delete if owner