GRE-401 Use a config file to override defaults (instead of many command line options)

= Removed argument parsing from scala application
= Using TypeSafe's config instead: https://github.com/typesafehub/config
= Simplified argument parsing in start script
= Allow relocating on system consistent with OS
= Added guard condition checking in start script regarding alternative config file
= Allow enabling kiosk mode in config file
GRE-401 Let users only specify log file locations, include our own log4j.xml

= Upside: much easier to understand for users
= Downside: no dynamic reconfiguring - we developers have to debug from the IDE now
= My take on this is that user friendlyness should win
Making the validation process more robust. Should never crash on bad objects, but continue validating the rest.
Changing behaviour of consistent object fetcher so that it falls back to using just the remote object as-is, if no object coming from a consistent set can be found.
Removing the feedback metrics for now. It turns out not to be very useful in its current form, so we're better off removing this code and complexity, and re-adding something better, more targeted later when this becomes a priority.