Add db storage plugin
HasInputStream changes interface
Update use of HasInputStream, move utility methods from PathUtil
FileTree uses synchronization for all data access to a path
Fail if base tree was not set
copyStream returns length of data copied
Handle throwables thrown by underlying plugin
Fix usage of ContentMeta interface
Update use of HasInputStream interface
Add test for Storage domain
Remove invalid import
Update use of ContentMeta interface
Name + dir should be unique in DB
Clarify overridden getDelegate method
Use constructors for plugin loading types
Fix tests using ContentMeta interface
Fix use of ContentMeta interface
Handle optimistic locking error by retrying data write
Update example with updated interfaces
dbStorageService: fix use of hasInputStream