Fixed an issue creating file system asset stores on Windows.  Specifically, Windows doesn't support os.openvfs to get disk usage and size, so detect the platform version, and, if Windows, use a Windows API call to get this information.
This includes a change to allow node postinstall script to run on Windows.  This removes pathing inside of the postinstall instruction in package.json.  Node should have node_moudles/.bin in the current path when it executes these instructions, so this should do no harm to the linux deployment.  I have also added a few notes on installing to Windows to the documentation.  We probably want to add a warning that we aren't officially supporting Windows and it is use-at-your-own-risk.
Fixed formatting so that the added code passes unit tests.  Added a pragma nocover to the Windows specific code.
Added a warning that Windows is not supported or tested and to use at one's own risk.
As per discussions on how we don't really want to support Windows at this time, I've changed the capacityInfo function to just report that it doesn't know anything if an OS doesn't have statvfs (Windows).  Although not as nice as reporting the capacity, it avoids platform-specific code.
Changed the lack of support for Windows from a note to a warning; improved the wording.
Added a rest method to copy an item.  Added the abaility to copy a file to the file model.  Adjusted the gridFS and S3 assetstores so that duplicated files don't need to duplicate data.
Added tests for copying items and for some other cases that were not covered.  Fixed an issue in testing for blank metadata keys.  When downloading a multi-file item, I've added a sort parameter so that the files are in a predicatable order.
Fixed a python style complaint.
Added test coverage for S3 deletes.
Don't copy the file _id when duplicating the file.
Move the item copy API from POST item/{} to POST item/{}/copy.  Changed some variables for greater style consistency.  Added some more tests to ensure copying is really doing the expected job.
Moved the copyItem functionality into the item model.
Modified some of the tests of the S3 assetstore to use moto.  Explicitly add the appropriate file key so that we can test that it is deleted.
The travis build was failing.  @cjh1 suggested that I try asking travis to uninstall six.
Merge remote-tracking branch 'upstream/master' into item_copy

Conflicts:
	.travis.yml
	requirements-dev.txt
Added a comment to .travis.yml to explain why we are upgrading six.
Merge pull request #337 from manthey/item_copy

Item copy.
Fixed an issue creating file system asset stores on Windows.  Specifically, Windows doesn't support os.openvfs to get disk usage and size, so detect the platform version, and, if Windows, use a Windows API call to get this information.
This includes a change to allow node postinstall script to run on Windows.  This removes pathing inside of the postinstall instruction in package.json.  Node should have node_moudles/.bin in the current path when it executes these instructions, so this should do no harm to the linux deployment.  I have also added a few notes on installing to Windows to the documentation.  We probably want to add a warning that we aren't officially supporting Windows and it is use-at-your-own-risk.