argparse configuration file

This is an attempt to let a configuration file provide defaults for argparse comand line options, using Python's `ConfigFileParser`

Main points:
* Config file values are automatically cast if a `type` is specified in `add_argument`
  * Limited support for the `action` parameter of `add_argument`: `store_true`/`store_false`/`count` will result in a config value being automatically cast to `bool`/`bool`/`int`, other actions are untested
* I've tried to avoid referencing any private underscore classes from `argparse` (though this makes things more complicated)
* Parsing has to be done in two steps:
  1. Look for any config file arguments, and parse those files
  2. Parse the remaining arguments
* Parsers/subparsers can reference one or more sections from ConfigFileParser
  * Multiple sections can be specified and merged (e.g. you could have a defaults section overriden later)
* Shouldn't require significant changes to users of this class.
* Configuration keys are named after the argparse `dest` value (e.g. `dry_run` not `dry-run`)
* Note added to README.rst

Corresponding omego PR/config: ome/omego#47
See also ome/omego#41
`parents` is needed so that child parsers can reference the config file parsed by the parent parser. In principle it's possible to get rid of this argument but it'd involve messing with the internals of `argparse`.