DRY out role creation helpers
Refactor user creation in all unit tests

As much as possible, all user creation now goes through helper function _make_user() in treemap/tests/__init__.py

Most tests now use either:
* make_commander_user() if they need to save things
* make_user_with_default_role() if they don't need to save things
Refactor role creation helpers to allow adding permissions easily
Satisfy flake8
Allow each instance to set eco benefit currency values

Provides a model (BenefitCurrencyConversion) that stores the
eco-unit-to-currency-unit factors.

Note that these values should not actually change with localization. For
instance, if someone is the UK decides to use £ for their currency
unit, it should show as £ to everyone (or, show in a local currency but
apply the exchange rate)

If an instance doesn't specify a conversion set, currency amounts will
simply be hidden.
Add conversion factors to search hash

Since we are caching eco benefits we need to make sure that changes to
the conversion factors result in an updated hash
Merge pull request #162 from ahinz/topic/add-currency-values-to-eco

Allow each instance to set eco benefit currency values
PEP8
Add coding flag
Merge pull request #164 from RickMohr/centralize-test-user-creation

Centralize test user creation