14 recent locations

This is the module for recent locations. It's been implemented using adapters in mind, so for the initial release, we have a local storage adapter.

I've also added travis-ci config to this pull request.
What about the following. This does not invoke JSON.parse (and therefore trigger a caught error). We do not want to force failed parse and try/catch for every page view by a user who does not have any recents.
```
var localStorageValue = localStorage[this._prefix];
if (undefined === localStorageValue) {
    return list;
}
try {
    list = JSON.parse(localStorageValue);
} catch (Error) {}
```