Raft: log storage interface and multinode integration

This branch introduces a pluggable interface for on-disk storage of logs, and brings MultiNode up to date with some upstream changes in the Node interface (the new Advance method). It's still something of a work in progress, but the next step is to implement this interface in cockroach to make sure it meets our needs before pushing it back upstream.

@spencerkimball @cockroachdb/developers 
It is a big pain to return an error from this method? In my experience with Go, always better to be pedantic about errors. Probably makes sense to change this to return an error sooner rather than later. It doesn't seem appropriate to panic here as this isn't an appropriate place for an assertion.