Improve generic cleanup performance

* Added @cleanup decorator which wraps scenario methods requiring
a resources cleanup. Using @cleanup(['nova', 'cinder']) will only
clean the resources of specified components, it improves rally
performance since we avoid unnecessary clean of resources that
was done in previous design.
* Updated cleaner context to fit the above requirements:
if a scenario method doesn't use @cleanup, the cleaner context
will clean all the resources (like it was done before), otherwise
it will clean the resources of components specified in parameter of
the decorator.

Partially implements: blueprint benchmark-context-improve-cleaner
Change-Id: Ifc23c3a72777a24471bf279e059eae207785132e