replaced http.request with mikeal/request, several refactorings
fixed encoding issue
Simplify mikeal/request usage

- no need to look for content-length.
- no need to set too many headers
- no need to complexify url construction
- followAllRedirects and do not try to get sessionId from location by
  ourselves
- merge createOptions with the provided data
refactor most of the commands to use the new requestHandler options

method is optionnal.

If you give a filled data = {obj: value} it will be a POST
If not, or if data = {} empty, it will be a GET

For method without data using POST (selenium is drunk), provide the
method: 'POST' option