SHDP-334 Support for store writer partitioning

DefaultPartitionStrategy handles uses a plain Map, old Spring messaging
based MessagePartitionStrategy under tests. MessagePartitionStrategy
tries to re-use stuff from DefaultPartitionStrategy as much as possible.

- New PartitionDataStoreWriter and PartitionTextFileWriter
- Adding concepts of partition key and resolvers
- Better handling of spel expressions
- 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().