Easier plugable formats and remove ini format

Ref #123 and #129 

This is some minor changes to how custom formats is handled. The biggest feature is that it can detect the correct format by looking at the file extension.

Also removes the ini format. Users should do:
```js
nconf.formats.ini = require('ini')
```
or
```js
nconf.formats.yaml = require('nconf-yaml')
```
No `^`. Breaks default compatibility with older `npm` versions. Use `1.x.x`