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
Probably. To follow up my previous comment

```
sebastien@sbesson1:snoopycrimecop (master) $ PYTHONPATH=../yaclifw/ python scc/main.py -h
Traceback (most recent call last):
  File "scc/main.py", line 76, in entry_point
    (UpdateSubmodules.NAME, UpdateSubmodules),
  File "/Users/sebastien/code/ome/yaclifw/yaclifw/framework.py", line 216, in main
    MyCommand(sub_parsers, parents)
TypeError: __init__() takes exactly 2 arguments (3 given)
sebastien@sbesson1:snoopycrimecop (master) $
```