Metadata File and Associated Verbs

This PR (wip) covers a branch of catkin_tools which creates a metadata file called `.catkin_tools.yml` in the root of a catkin workspace. This file nominally contains information like the following (showing default header and default additions from calling `catkin build`:

```yml
### DO NOT EDIT, generated automatically and updated automatically by catkin_tools
### If you delete this file, it will cause `catkin build` to re-build from scratch. 
### If you modify this file, it may have unintended side-effects on your workspace.
build:
  build_space: build
  devel_space: devel
  source_space: src
```

Once complete, this PR should address the needs of the following issues:
-  (#27) *build: Add marker file to workspace root*
  - Adds the marker file.
-  (#67) *new verb proposal: catkin info*
  - Creates the verb which dumps the marker file info along with other information.
-  (#10) *build: allow execution from anywhere under the root of the workspace*
  - Uses the marker file to find the root of the workspace, and then build from there.
- (#68) *build: Add "--clear-cmake-cache" argument`
  - Adds a `clean` verb.

TODO(NE):
- [x] enable building from anywhere in the source tree
- [ ] enable context-aware building of a package (only that package, starting with that package, or that package and deps)
- [ ] add `info` verb to dump workspace information
- [ ] add `clean` verb which deletes `buid/`, `devel/` and re-initializes `.catkin_tools.yml`
- [ ] add `--cmake-cache-only` argument to `catkin clean`