[WIP] Make test refactable

Redesign unit-tests with following principles:

1. Don't test specifications that is not listed on a [docstring](http://www.python.org/dev/peps/pep-0257/#what-is-a-docstring) of the test target
2. Use a [doctest](http://docs.python.org/3/library/doctest.html), it will make functions pure, so we get test easier
3. Don't depend to a [mock](http://docs.python.org/3/library/unittest.mock-examples.html) except:
   * the test takes too long (ex. downloading, compiling)
   * the test requires environment variables
4. Don't test a private method (of course)
5. Don't test a code that purpose of supporting multiple OS (it is enough running tests on the OS)

Road map
--------

- [ ] Remove all tests
- [ ] Implement acceptance tests for `googkit init`
- [ ] Implement acceptance tests for `googkit setup`
- [ ] Implement acceptance tests for `googkit build`
- [ ] Implement acceptance tests for `googkit config apply`
- [ ] Implement acceptance tests for `googkit deps update`
- [ ] Implement acceptance tests for `googkit ready`
- [ ] Implement acceptance tests for `googkit build`
- [ ] Implement integration tests