Refactor importante del cliente

Elementos más importantes del PR:

- agregada suite de tests con mocha
- las llamadas a setTimeout, setInterval y Date.now se hace a través de una librería interpuesta para poder probar de forma desacoplada
- el parámetro nocache del método get es opcional y su valor por defecto es false
- agregado fichero .travis.yml para integración continua con TravisCI.