Step catalog formatter

Add a new command line option an output formatter to conveniently list all available step definitions without the technical details such as step function name or source location.

Use case:
    behave --catalog [feature]

The step are listed just as they appear in a feature file, together with their doc strings.

Example output:
Given a file named "{filename}" with
    Creates a textual file with the content provided as docstring.

Given an empty file named "{filename}"
    Creates an empty file.

When I run "{command}"
    Run a command as subprocess, collect its output and returncode.