Implement XDG base directory specification (issue #120)

This is how it has been implemented:

* Unless specified using the `-c` command line option, the configuration is generally found at `~/.config/go-ipfs/config`
* The `-c` command line option now specifies the configuration file itself (and not its directory)
* During `ipfs init` it is possible to specify the database location using the `-d` option.
* The database location generally defaults to `~/.local/share/go-ipfs/datastore`
* If a relative path is found in the configuration file for the database location, this file is relative to the XDG Data directories.

What might be missing is transition code to move/read files already in `~/.go-ipfs`