ENH add --config argument

fixes #129.

By default autopep8 looks up config files:

- First locally (in current dir) then the parent dir etc. if not found it uses from the DEFAULT_CONFIG file.
- If you pass it a specific file it just uses that.
- If you pass False, i.e. something which isn't a file, it just uses the standard defaults.
- Any arguments you pass in overide defaults/configs.

Note: When I say "uses", I mean that values are updated over the standard defaults.

It's straightforward to tweak this behaviour (Note: this implementation is *basically* straight out of [pep8radius](https://github.com/hayd/pep8radius), although that atm does something slightly different with regard to which files to use).

I think this solution is the easiest/cleanest to implement so just did it so it can be discussed/changed.
if we wanted to match pep8 behaviour (I think, IIC pep8) we need only remove this if/else block and change this to `config.read(config_file or DEFAULT_CONFIG)`.