If we are trying to build a repository in the home directory of
the user, put everything in a .ipfs directory. Otherwise, use
what was given, even if it does not have a .ipfs suffix.
Also included is a way to pass port and swarm info to methods that build
the config file. This makes testing easier. Multiple peers can be
started on the same machine easily.
Now paying attention to the IPFS_PATH environment variable to determine
where the repository is. Fixed some broken tests. Fixed a bug whereby a
subdirectory within a subdirectory was not displaying correctly when
imported.