Add Manifest.from_cache tests and implement Manifest.from_cache

Re-order Manifest method definitions.

Add from_cache counterpart to DirectoryEntry.write_cache