Major restructuring: Made Update/FetchService reusable, so the rest of the app can build on it; Moved the CLI mode from App the CliService; different (self contained) way of starting up MainActivity (the launcher no longer needs to know about preference keys).