starting to add subassembly tracking
Merge branch 'master' into sub_assemblies

Conflicts:
	db/schema.rb
further changes to verify_subassembly method
Merge branch 'master' into sub_assemblies

Conflicts:
	db/schema.rb
subassemblies are now added to DB and tracked in the repo. moved some methods that Craft and Subassembly use into RepoObject helper
added messages for terminal
basic interface for subassemblies
minor tweeks to sub assembly interface
Merge branch 'master' into sub_assemblies
subassemblies show page
subassembly revert now working
minor changes in light of previous commit
nicer open animation on subassemblies
recovery of deleted subassemblies, reover method moved into RepoObject helper (common to craft and subassemblies), changes to calls to repo log to improve speed by not needing to select entire history
minor fix
reducing calls to gcommit as it can be very slow, instead calls are made to get_commit which also takes a file path as arg and attempts to find the commit in the 10 most recent commits for that file, failling that in all commits for that file. gcommit is still present, but only used as a fallback if get_commit was unable to find the commit
comments
subassembly pages will reload if the sub gets deleted while viewing it
needed check that object was present also, incase of db lock flag being up
caching of craft show and subassembly pages, caching can be disbaled globally in application controller