Initial implementation of saving and installing snapshots

This commit basically sketches out how creating and installing snapshots would fit into
the overall design. This has not been tested yet.

Change-Id: I0c575049e8dbda6b63e49dab80ff0980546029d3
Signed-off-by: Moiz Raja <moraja@cisco.com>