Initial version for code review

Because the initial development was occurring on master, there isn't an easy way to do code review. This pull exists solely as a means to code review the entire project. Any changes will be put straight into master and this pull will be closed and the `initial-code-review` branch deleted. All future development will use pull requests into master to facilitate code review.
Not necissarily Memcache.
Maybe
```
+ * Faster version of:
+ *
+ * $cache = new Matryoshka\Hierarchy([
+ *    new Matryoshka\Ephemeral(),
+ *    new Matryoshka\<SomeBackend>()
```
?