Refactoring

Hi Sebastiano,

So my goal of this refactoring was make this library more friendly for users.

I made global refactoring for your project, since I think it is not a good idea in callback through the same parameter send `error` and `result`, hard to handle. So I rewrote all methods `callback` that as first parameter it send an `error` and `result` as second, third parameter. Also accordingly I update tests, bamboo-api and documentation. 

By the way thanks for good coverage, if not your tests I believe it would be impossible refactor it so quick.

During refactoring I also did small optimisation to some parts of the code, removed call of underscore `_.uniq` in a loop, instead of `_.each` and `_.uniq` used `_.union`, etc.  

Added valid jsdoc notation to the code.

Additionally I fixed small misspells and extend README with full documentation for Bamboo API as Command line and as node module. 

Also I added more explanations to the Bamboo API, so `--help` now looks more useful.

I dived changes by commits, so it might be easily for review.

Hope you doing well and do not hesitate to point out my mistakes, I will be happy to fix them.

Have a nice weekend and best regards,
Pavlo Voznenko