Refactor #attribute_history to return a collection of Entry instead of Hash

For simpler iteration on collection and easier custom behavior injection