extract method for shadow paths
remove unused input param
extract methods for shadow params
pull method into library package
sort external dependencies
whitespace
whitespace
extract method: get_with_lock
initial get_or_create
use get_or_create to obtain shadow_allocation

The shadow_allocation is sometimes left behind due to a process being
killed, etc. this will make the shadow_allocation idempotent.  We'll
leave cleaning up after killed processes, etc. to another process.
rename arbitrary parameter 'allocation_id' to 'id'

In preparation for use of BoolExpr this parameter needs to match what it
actually means on the class.
add test for "idempotent" move
Merge branch 'AR-163': reuse shadow allocation

Make move and unarchive reuse an existing shadow allocation instead of failing.