enhance steps writing

added two main features:
- can define steps from function name or doc (no need to give an argument to "@step" decorator)
- can group steps in a class and declare steps with the plural decorator "@steps" that make all methods (except those in "exclude" attribute and those starting by _) of the class to become steps when class is instanciated.

tested and documented.