Cart compatibility upgrade

To update possible old Cart structures stored in session. (This branch fails a test in the EquipmentModel spec, that it failed prior to branching off development.)
Should we change this to test for anything that isn't a hash, rather than specifically arrays? Not sure it's necessary but once we're already testing, we can eliminate anything invalid.