tame the daemon

There were several issues with the daemon this commit attempts to
address and fix the following:

- configuration would get reset to default after calling
  Localeapp::CLI::Update.new.execute
- Use Process.daemon if available
- Synchronize STDOUT so that the log file isn't buffered until exit
- Trap exit signals so that at_exit hooks will trigger and cleaner
  shutdown of resources can be achieved.
ensure custom configuration is maintained

Command uses require to load configuration data. The Daemon command made
use of Localeapp::CLI::Update.new.execute to perform the update, this
cause configuration to be reset to defaults, however because the config
file had already been required once already ruby would not reload the
custom configuration.

better daemonization processes

daemon should reset memoized state after update

safer shutdown for daemon

sync stdout so that log file is unbuffered

also refactored startup logic