Add DUMP / RESTORE commands

One way to fix #119 by implementing [DUMP][]/[RESTORE][].

[DUMP]: http://redis.io/commands/dump
[RESTORE]: http://redis.io/commands/restore

This works on the presumption that you won't try and RESTORE a value DUMP'd from `redis-server`, nor try and DUMP a value from fakeredis and RESTORE into `redis-server`. If you DUMP and RESTORE the value into fakeredis, it will work. (And likewise with `redis-server`.)

Matches behaviour/error handling as best I can tell/test with redis-cli gem.