Store image meta data in arrays and adds unit tests

This pull request does a number of things (sorry):

1. Lets you store upload meta data in array properties instead of just fields (#5)
2. Adds a suite of unit tests to prevent future b0rkage
3. Defaults to using the system temp directory for ImageMagick temporary files (#38)
4. Adds the field name to the saved file (#23)

To run the unit tests, do:

```
npm test
```

Then open coverage/lcov-report/index.html to see code coverage.

There was an existing test that looks at the output of ImageMagick to verify whether support for certain formats was enabled.  I'd argue that this test should be removed as it's not testing mongoose-attachments code, rather an external dependency so can break due to circumstances out of our control, but I've converted it into a mocha unit test anyway pending further discussion.