config files

There are too many arguments to pass to `Qdb` to make setting breakpoints fast and simple.

This adds a `.qdb` file parser and scheme. The `QdbConfig` is a namedtuple that holds all the arguments to be passed to Qdb.

It checks for config files in:
- cwd
- `$HOME`
- Any files explicitly given.

`QdbConfig`s can also be constructed from a dict to make setting custom configs programatically simple.
as it is now, if kwargs are passed, no config is read, and those kwargs are used to construct the config. If you want to overwrite one arg of the .qdb file read config object, then you would do:

```python
Qdb(QdbConfig.get_config(), arg=new, merge=QdbConfig.config_first)
```

if merge is not specified, an error would be raised, so the user must specify the behaviour they want.