Make sure our parcel entities have a pk before trying to just store the pk in the parcel

Also use DaoException for consuming uniqueOrThrow and pumping back out a BadParcelException