ECDR-29 - Added Cache and CacheManager interfaces with an initial LRU Ca...

...che implementation that just uses a hashmap to back it.  Have initial JCache support in hazelcast, just need to update it to support the Cache and CacheManager methods.  Also added support for being able to configure what link type should be used for thumbnails

The following still needs to be done before this ticket is closed out
 - Complete hazelcast cache support
 - move cache to own project in lib directory
 - Add back in support for cache expiration minutes (hazelcast supports, but LRU doesnt)

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/di2e/ecdr/10)
<!-- Reviewable:end -->