Remove TeamCity reporter

We are not aware of anyone using it (we don't use it either), but it
requires maintenance and updates every time something changes in
reporters API. Instead, we are going to provide ability to load
reporters from external packages, so someone might one day re-implement
it.
Merge pull request #60 from bem/feature/no-teamicty

Remove TeamCity reporter
Add programmatic API

It is exported as gemini/api node module and allows to use same
commands as a CLI.
Suites now also have unique ids.
Report results in runner

Now runner.run will resolve to of the following status strings:

- `success` - all tests passed;
- `error` - a non-critical error occurred during tests.
- `testsFailure` (for Tester) - no errors occurred, but some tests
  failed.

This changes should greatly simplify CLI code, related to exiting with
appropriate code.
Use public api in CLI
Document API
Merge pull request #59 from bem/feature/BEM-1871

Use public Gemini API in CLI