Background: PersistentRenter isn't suitable for both persistence and
serialization due to the need to have a collection of objects. The
collection can only be List, Map or Set (generic Interfaces) but those
aren't serializable, only their implementations (e.g. ArrayList).

Solution: 
1. Added Data Transfer Object (DAO) named SerializableRenter.
2. Updated the backend methods to receive and return these DAOs but
internally (for persistence) they still use PersistentRenter objects.
There's a small overhead from converting back and forth between
SerializableRenter and PersistentRenter, but for small data sets it
isn't noticeable.