fixed disjoint selection bug where only one item was being selected when items were children. Always remember: array.concat does not modify the array - it returns a new array which the original should get.
fixed detached head bug in history builder. Once head is detached, models were not effectively deep copied, leading to reference errors even in previous versions of the application. Deep cpying implemented. Still an error where after head is detached and the collection is modified, the snapshots are one iteration behind. Next: fix that.