Improve Cache object docs and added a way to pass a Duration object.

Note that the actual scaladocs say:

>> Sets a value without expiration

which is false since one of the parameters sets the expiration in seconds.

Using always seconds as a unit is cumbersome, specially for longer periods (hours or days) so I included a way to pass in a duration object to be able to do:

```scala
Cache.set("key", "value", 3.hours)
```