Recover existing instances upon agent restart

Minimal recovery of agents upon restart.   Both running and stopped agents are recovered.  Recovered stopped agents are currently marked as state 'created'.

@peterbourgon @stuartnelson3  @elenadeneva92 

```go
if err := recoverContainer(id, containerRoot, r, pr); err != nil {
    log.Printf("failed to recover container %q from %s: %s", id, containerDir, err)
    continue
}
log.Printf("recovered container %q from %s", id, containerDir)
```