Add custom conf dir option and fallback shipfile location to current working directory

Okay, so I think the majority of the time, your `ship.conf` file isn't going to be located inside of the directory you are deploying since you wouldn't want to expose the contents of that file. However, right now ship only looks for the conf file inside of the folder being deployed.

This PR adds the following behavior:

- If a user gives a `conf` option (`-c, --conf` on the command line), ship uses that location to set the shipfile path
- If there's no shipfile inside `root` (the folder being deployed), ship looks for a shipfile in the current working directory.
- If there's no shipfile inside `root` nor cwd, it sets the shipfile to be inside `root` so that the config prompt will write it to the correct location. My opinion is that this should be `process.cwd()` as well, I think it's dangerous to write the conf file into the folder that's being deployed, but I'd like to hear anyone else's thoughts on this before I make the change.