firefly.main: Handle exceptions a bit better

    - Make the ui and data servers both log and error gracefully
      when two separate instances are started or something is already
      listening on their ports.
    - Gracefully log and error out when running in the foreground via
      something like --testing and CTRL-c is pressed.
firefly.main: handle config file yaml errors and error gracefully

Also switch from yaml.load(f) to yaml.safe_load(f) because it has
WAY more cowbell
Prefer stdlib json and fall back gracefully to simplejson

This also removes the requirement of simplejson. The json module
was added to stdlib in python 2.6, so it should exist always.
Merge pull request #47 from SEJeff/develop

A few random fixes to clean things up a bit