Implement ipfs init -d (change datastore location)
Refactor config file location, add IPFS_CONFIG_DIR

Removed config.Filename and replace it with config.GetConfigFilePath that
takes a configuration directory as argument instead. Makes code simpler.
ipfs.getConfigDir now also return the default configuration dir instead of
an empty string in some cases.
Correct style.
Fix error handling
Check the datastore is writeable when initializing
When initializing datastore, create directory with correct permissions.
Merge pull request #126 from mildred/master

Rework config file location