Fix indentation in project/activator.scala
Split most of RootConfig companion object into a trait

This allows us to mock it in tests instead of using someone's
actual home directory in the tests.
Don't speculatively load RootConfig.userFutureOption

Doing this means that we always try to load from the
"real" location even during tests.
Separate config version from app version and add upgrade-from version

The idea is that we will change the config version infrequently, so it
is "1.0" not "1.0.7" now. We support auto-migrating from ONE earlier
version, which should be enough if we don't change this often.
For now we will use "1.0" and migrate from "1.0.7," and whenever
we break the config file format we can switch to "1.2" or whatever.
Merge pull request #140 from typesafehub/wip/havocp-keep-config

Separate config version from app version and add auto-upgrade of config