DDF-285  Integration of product cache into CatalogFrameworkImpl, reapplied

Conflicts:
	pom.xml
DDF-285  removed unused class
DDF-285  backed out scoping change for constant based on incorrect TODO statement
DDF-285 Refactored cache implementation for retrieve product. Made changes in CatalogFrameworkImpl for new caching.
DDF-285  updates for cache product serialization
DDF-285 Upgrading to use platform 2.3.1-SNAPSHOT for cache api
DDF-337  added product cache directory field to metatype for Standard and
Fanout Catalog Frameworks; added product caching for Fanout Catalog Framework
DDF-337  added unit tests for ResourceCache
DDF-337  added null checks for filePath per code review comments
DDF-337  reformatted per checkstyle
DDF-337  added unit tests for null filePaths
DDF-342  initial implementation of sunny day scenario of simultaneously
caching and streaming a product back to the client
DDF-342 Added unit tests for CacheKey.java
DDF-342  added setter for chunk size
DDF-342  start of adding unit tests for improved caching logic
DDF-324  implemented caching running in separate thread and initial
attempt at retry product download logic
DDF-345  modified to only look for single resource request property
RESOURCE_OPTION rather than all properties
DDF-342  updates per code review comments
DDF-345  improved retry logic for product retrieval and caching
DDF-345  changed caching to be disabled by default and changed metatype
checkbox to be for Enable Caching