SHDP-334 Support for store writer partitioning

- New PartitionDataStoreWriter and PartitionTextFileWriter
- Adding concepts of partition key and resolvers
- Better handling of spel expressions
- Partition functions in spel; dateFormat() hash(), list(),
  range() and path() to ease path combining.
- Partition writer tweaks to handle all necessary spring lifecycle and other
  needed components because additional writers wrapped by a partition
  writer are - not handled by app context.
- New UuidFileNamingStrategy to help with naming issues
- Writer base classes now have better support for using partitioned paths.
- Naming strategies how have better tests
- Changed FileNamingStrategy to separate next() and reset().