Rename environment "app properties"=>"default properties"
Introduce explicit wallet and useragent params in WalletFacade

Previously, WalletFacade relied on "appName" to derive all information
related to the location of the bitcoinj wallet, the prefix of that
wallet, and the useragent name that will be used for bitcoin version
messages.

Now explicit parameters have been exposed for each of these, making for
a clearer and more configurable arrangement. The values associated with
each parameter still default to the value of "appName" (usually
"Bitsquare", "Bitsquare-Alice", or similar), however the assignment of
these defaults is now done in BitsquareEnvironment#defaultProperties
PropertySource. This approach allows for overriding any or all of these
parameters in any of the property sources that have higher precedence
than the default set, (e.g. in system environment variables, the
bitsquare.properties file, etc).

As a result of these changes, WalletFacade now has no awareness whatsover
of the Bitsquare "application", which is as it should be. This change
removes a conceptual tangle, and what would have become a code-level
tangle had we tried to replace the use of @Named("appName") with a
reference to BitsquareEnvironment#APP_NAME_KEY.

This begins a series of such changes, in which references to "appName"
will be eliminated in favor of similar explicit parameters.
Introduce explicit dir and prefix params in Persistence

Like the previous commit, this change eliminates the reliance on
"appName" within the Persistence class in favor of explicit and
independently configurable parameters.

Additionally, the FileUtil class has been removed as it is no longer
necessary.
Introduce io.bitsquare.btc.UserAgent

This makes things generally more explicit and reduces the number of
String arguments in the WalletFacade constructor.
Introduce explicit title param in ViewCB

Like previous commits, this change removes reliance on the global
"appName" in favor of an explicit and configurable "view.title"
parameter. It is still set by default to the value of appName, but this
assignment is now done in BitsquareEnvironment, as are the other similar
parameters that have been broken out in previous commits.
Eliminate remaining uses of @Named("appName")

Changes include:

 - Remove lighthouse.files.AppDirectory. Several methods from this class
   have, as of this commit, been rewritten and moved into the
   BitsquareEnvironment and BitsquareApp classes as appropriate.

 - Rename "appName" property => "app.name" for consistency with other
   configurable properties.

 - Allow configuration of both user and application data directories on
   the command line. See --help menu for details.
Merge branch 'wip-cbeams'

These changes eliminate the use of "appName" throughout the codebase in
favor of explicitly named, and therefore individually configurable
alternatives specific to each component. For example, instead of passing
the application name through the WalletFacade boundary and then using a
utility like AppDirectory to put construct the wallet directory on the
fly, the path to wallet directory is now passed explicitly as a
@Named(WALLET_DIR) parameter to the WalletFacade constructor.

The result is not only better configurability (e.g. the WALLET_DIR
property can be overridden without affecting any other parts of the
system), but also better understandability. See
BitsquareEnvironment#defaultProperties to see how it all comes together.
Note how the value of appName is mapped to each of these new properties,
all in one place where it's easy to get an overview etc.

Also, as of this commit, there is only one place in the codebase where
the word "Bitsquare" is hard-coded (in `i.b.app.BitsquareEnvironment`):

    $ git grep -h '"Bitsquare"' src
        public static final String DEFAULT_APP_NAME = "Bitsquare";

To keep things clean, further hard-coding should be avoided from this
point forward.

See extended comments for each commit for details.

* wip-cbeams:
  Eliminate remaining uses of @Named("appName")
  Introduce explicit title param in ViewCB
  Introduce io.bitsquare.btc.UserAgent
  Introduce explicit dir and prefix params in Persistence
  Introduce explicit wallet and useragent params in WalletFacade
  Rename environment "app properties"=>"default properties"