image upload controller refactor

issue #635

- upload controller shouldn't assume fs
- filesystem module proxies all the fs work
- proxies and exposes middleware for serving images
- creating a date based path and unique filename is a base object util
- unit tests updated
Merge pull request #1426 from ErisDS/635-image-refactor

image upload controller refactor