Added some test coverage for DefaultFileLockManager with each lock protocol implementation.
Renamed parameter of UnitOfWorkParticipant.onStartWork() and updated some javadocs.
Renamed FileLock.getHasNewOwner() to getHasBeenUpdated() and removed getLockId().
incremented new locking protocol version.
Clean out any old lock file from the int test cache dir.
Changed LockState to an interface and use it to track state rather than unpacking to individual properties.
Reworked how the in-memory task history cache detects changes by other processes.

- Replaced FileLock.getHasBeenUpdated() with getState() that returns a snapshot of the current state that can later be used to check for changes
- Pass this around instead of a boolean to the UnitOfWorkParticipants.
- Replaced DefaultLockState with format specific implementations.
- Changed the lock file format to use a sequence number to detect changes by another process