do not use mutable defaults

The upload_file in item.py was using mutable defaults for metadata and headers. As explained by netbat, using [multable defaults](http://stackoverflow.com/questions/25351440/why-are-stale-header-values-still-around-when-uploading-a-subsequent-item-to-arc) causes the problem reported in #64.

The way I tested this was to run the code in my stackoverflow question against master and against this branch. Stale headers are used in master, they are not used in in this branch. 

I did add an extra test to upload.py to check this, but upload.py seems to fail intermittently. Are you using it? I can update my PR to leave the change out.