Move ArtifactPlan persistence to Hibernate.

Please consider and review this pull request which migrates responsibility for persistence and retrieval of the ArtifactPlan entity from iBatis to Hibernate.

Preserving the existing behaviour, ArtifactPlan and its subclass TestArtifactPlan are both persisted to the ARTIFACTPLANS table, but when the tuples are converted back to objects they are always converted to ArtifactPlan instances.

ArtifactTypeHandlerCallback had a piece of behaviour that this PR does not replicate, namely if ARTIFACTTYPE were null in the database then it would assign ArtifactType.file for the ArtifactPlan type property. It is difficult to see how this null value could arise from examining the use of ArtifactType. If however this behaviour is required, then IMO the correct way to implement it would be via a default value on the database column and I can construct the corresponding dbdeploy delta upon request.