* Bugfix for corda.jar manually deployed without coping the matching corda-finance-VERSION.jar.
If the older finance cordapp version is detected (which doesn't have Liquibase migration scripts) fail node at startup and print message: "Could not create the DataSource: Detected incompatible corda-finance cordapp without database migration scripts, replace the existing corda-finance-VERSION.jar with the latest one."
Since coda-finance is an optional cordapp,the presence of Liquibase scripts is only checked if corda-finance-VERSION.jar is present in cordapps folder.
* Allow to start using Liquibase from any point of 4.0-SNAPSHOT before Liquibase was introduced (not only from 3.0/3.X versions) - 2 database changes introduced after 3.2 but before Liquibase are now conditional database changes.
* Pull out and tidy type parameter inference
* Contain null proliferation
* Extract fingerprinter state
* SerializerFingerPrinter is always initialised with a SerializerFactory
* Move non-recursive state transition functions into state
* Move all state transition functions into state
* Simplify and optimise with mutable state
* Move TypeParameterUtils back into internal.amqp
* Clarify behaviour of constructorForDeserialisation
* constructorForDeserialization no longer returns null
* Capture field properties
* Narrow PropertyDescriptor
* Use map rather than apply on a mutable list
* Remove printStackTrace added for debugging
* CORDA-1869 minor tweaks
* Use groupingBy to avoid creating an intermediate map
* Convert some functional origami to plain old for-loops
* Eliminate nested lambda to unbreak pre-serialisation
* Use EnumMap for map of Enums
Change to older Liquibase 3.5.5 version to align with Enterprise repo - Liquibase 3.6.X changed schema case sensitivity behaviour and it's brakes in Corda for one database vendor.
* Introduce and check @BelongsToContract annotation
* Fix broken ObligationTests
* TransactionContractConflictException inherits from TransactionVerificationException
* Really fix broken ObligationTests
* Convert fun to val
* Update kdoc on BelongsToContract, simplify contract checking
* Warn in TransactionBuilder if ContractState has no owning contract
* Fix failing tests
* Unseal TransactionVerificationException
* Make contract parameter of TransactionState optional
* Replace exception with a warning for now
* Update api-current to permit @BelongsToContract annotation to be added
* cosmetic tweaks
* Throw IllegalArgumentException, not NPE
* Throw IllegalArgumentException, not NPE
* Create constraint, extract Jar signature collection
* Extract JarSignatureCollector into its own file
* Jar signature collection throws exception if signatures are inconsistent
* Focus testing in Jar signature collection
* Extract some helper functions in test
* Patch tests with mock attachment storage
* Assert that generated constraint is satisfied by signed attachment
* Clarify constraint selection logic
* Explicit return types on extension methods
* Link to docsite Signature Contrainsts documentation
* Fix issue with shared JAR reading buffer