Add test suites

Test suites allow to change URL, and elements lists in process of
testing without writing a plan.

This also removes plan `.reload()` method in favor of a suites.
Unit-test like API.

Next step after intruding test suites: getting rid of the plans
and transforming API to more unittest-like.

Problems with old API:
- it assumed that every file in tests directory is a test file,
  exporting a function. If it was not the case (for example, there was
  some helper) gemini crashed.
- too many concepts: test plan, test suite, state.
- limited nesting ability: one plan could contain suites and suites can
  contain states. Deeper nesting was not possible.

New API:

gemini.suite('name', function(suite) {
    suite.setUrl('/some/url')
         .captrure(...)
         .capture(...);
});

Nested suites can be created by nesting `gemini.suite` calls.
Make work test command and tree reporter
Make html reporter working again
Make teamicty reporter working again
Remove mentions of the plan from all code
Document new API
Merge unittest-like API

Problems with old API:
- it assumed that every file in tests directory is a test file,
  exporting a function. If it was not the case (for example, there was
  some helper) gemini crashed.
- too many concepts: test plan, test suite, state.
- limited nesting ability: one plan could contain suites and suites can
  contain states. Deeper nesting was not possible.

New API:

gemini.suite('name', function(suite) {
    suite.setUrl('/some/url')
         .captrure(...)
         .capture(...);
});

Nested suites can be created by nesting `gemini.suite` calls.