Fixes issue where psiturk doesn't work when host is wrong

Instead, keeps bugging user about it. Also changed error catching when
contacting psiturk.org to be more general, timeout errors were not being caught
before. Seems to me like any error in contacting psiturk.org can
just give the same message to the user.
Fixed newlines to make "you can't connect to psiturk.org" message look nicer
typo in shell help
Fixed issue with subcommand autocompletion
add separate global/local configuration

Config now separated into global and local files, with local options
overriding global.
Finish implementing new config structure

- default global and local config files live in psiturk/default_configs.
- when creating a new config file (e.g., when setting up example), file
  is just copied over from this folder.
- when loading config, defaults are also loaded, so any field missing
  from the user's config files will have the default value (this lets us
  add new config options without breaking psiturk for everyone).
- by default there are only a few fields in the global config, but
  advanced users could move some options out of the local config and
  into global, or vice versa.
Switch dependency to gnureadline to avoid the whole module name issue

This way it isn't confused with the readline module that ships with OSX python.
Merge branch 'dev' into psiturk-org-services

Conflicts:
	setup.py