Support lazy importing/loading (of formatters, etc.)
Improve handling for unknown formats (formatters).
Support cases w/o format option.
Use lazy imports for formatters (to speed up start-up time).
FORMATTERS:
  * NEW: steps.doc formatter, shows documentation of step definitions (related to: #55).
  * NEW: steps.usage formatter, shows where step definitions are used.
  * RENAMED: json-pretty, tag_count, tag_location => json.pretty, tags, tags.location
  * help: Shows now a better formatted list (improve readability).

location: Use now a FileLocation object (was: string), required for ordering.
load_step_definitions: Are now sorted before loading (due to: Linux, ...).
FIX issue #114: do not print a blank line when the feature is skipped, and option --no-skipped.
Mark pull-request #165 as merged.
#114 self-test: Use --no-timings when plain formatter is used (Scenario 3).
Re-enable duplicated steps self-tests (mostly).
Mark issue #122 (duplicated steps self-tests fails on Linux) as resolved.
RENAMED: basic_steps => generic_steps
Add more self-tests: background, select scenarios by tag
Add stdout_mode property to simplify usage in all (derived) Formatter classes.
Use stdout as default output stream again (was: stderr).
Formatter "sphinx.steps" to generate Sphinx docs for step definitions (related to: #166).
Provides basic functionality as sphinx.steps formatter (working prototype).
Minor code cleanup.
Update after stdout is used again.
Normalize paths supplied at the command line

This ensures that trailing slashes are removed if they exist.
This resolves a bug further down in the junit reporter where it would
chop off the first character of test case names if there was a trailing
slash in the path.
Mark pull-request #110 as resolved.
Merge branch 'master' of https://github.com/behave/behave