Major updates.

- Tired of wasting my time trudging through the existing LevelDB stuff
for .NET, I decided to just roll my own, going the P/Invoke route.
--- Eventually, I'll probably get around to implementing at least the
things I've stubbed / hacked in.  For now, this is what I use.
- Added a way to choose between Bitcoin, Dogecoin, and Testnet3 at
startup.
- Finally worked through to get the initial sync to persist between
runs.
- Taking advantage of the fact that the peer announces their best known
height so I can stop a little bit of cheating.
- Tweaking how I use MemoryCache, because that seems to have a really
hard time keeping a low profile by itself.