[WIP] Clean up entity patching code

Done:

* split patching code from Entity and derivatives
* drop usage of deprecated term related methods defined by Entity
* split Fingerprint patching code into its own class

TODO:

* fully replicate the old tests and then remove them from EntityTest and derivatives
* drop usage of deprecated claim related methods defined by Entity
* drop usage of deprecated Item methods
* split Statement patching code into its own class