Allows layers to be partially pulled and resumed

Local-stored layers now keep track of their current size and expected full size, as to allow for a notion of partially-written layers. The Pull workflow recognizes local partial layers that are not currently being written to, and requests only the remaining data from the registry for these layers.

This change also adds a sort of contrived test for resumable pulls.

@dmp42 @stevvooe 
In the backend, I've opted for supporting this with a fast seeker implementation (ie no io seek). It might be a bit more idiomatic.