Save cart data cleanliness

confirm cart has been initialized before returning it to caller.
set meta properties and update cache when purchase log is saved, it's possible that they were never set, or coulkd have been altered by the filters

Resolves issue #833