Item copy

This implements an item copy rest call via /item/{} POST.  It adds test coverage for the new functions.  As part of this, I've added a method to the files model to copy a file.  For all of our current three asset stores, I've added code to allow multiple files to use the same data through the use of a repeated reference.
@manthey This code actually invokes a boto call internally on the background task queue. As such, its test should be wrapped using httmock context manager that also waits on a condition var and asserts behavioral correctness. Let's either do that or delete this block for now.