Cocaine tools completely rewritten to match chain idiom. Some bugs fixed

 - fixed bug in chain.py - in GeneratorFutureMock.advance method next step didn't invoked if `result` was empty string or False (i.e. if condition not satisfied)
 - cocaine tools completely rewritten to match chain idiom
Refactoring and bug fixing

 - some tests fixed
 - bash completion for apps, profiles and runlists fixed
 - module cli.py has been refactored