History refactor

* makes history into a singleton
* adds a summary of visited sections and (primary) keywords
* removes repeats from history, and instead:
    * moves repeated page to front of list  
    * maintains most-recent-first order
    * adds count of # of visits to each page
    * updates it's timestamp
* removes sequence.js

@phamann : I'm now adding __everything__ to history except network fronts and liveblogs..
* will adding section/tag fronts mess up your use of history?
* can I actually add liveblogs, now that deduping happens?

@NathanielBennett : I can't find any use of `recentVisits` or `numberOfSessionsSince` functions. Do you need them any more?
With this object, you've landed up in a sort of pseudo class (I can't think of a better word).
You use `history` as a variable scoped to the module, but then the functions scoped to the returned object.

Would it be neater to have one pattern?
e.g.

```JavaScript
function get() {
  //...
}
function log() {
  get().filter(function() { /*...*/ });
}

return {
  log: log
}
```

You can then also only return the functions that are needed (creating the idea of private methods so it's not hacked later on). Not sure I'm correct, just wondering.