move a lot of code into vmsnapshot strategy

fix compile

fix compile

add vm_snapshot_details table in db

add vmsnapshot test cases
Merge branch 'pluggable_vm_snapshot'

Conflicts:
	client/tomcatconf/applicationContext.xml.in
	engine/storage/integration-test/test/org/apache/cloudstack/storage/test/SnapshotTest.java
	engine/storage/integration-test/test/resources/storageContext.xml
	server/src/com/cloud/storage/snapshot/SnapshotManagerImpl.java
	server/src/com/cloud/vm/snapshot/VMSnapshotManagerImpl.java
rebase to spring changes
Merge remote-tracking branch 'origin/master'