Record docstring and file name for steps and add a command to view all steps

When this patch is applied, you can add docstring to step.  Docstring is fontified as normal docstring such as for `defun` (if you load ecukes in your Emacs).  Also, step definition is indented like `defun` now.
```cl
(Given "^a known state$"
  "This step does nothing."
  'ignore)
```

Ecukes CLI takes following new options.  You can list all steps and see their docstring.
```
 --list-steps           Print all available steps defined for this project.
 --with-doc             Include docstring when printing steps with --list-steps.
 --with-file            Include file name when printing steps with --list-steps.
```

One test is modified to fit with the change and one new test is added to check that docstring recording works.