DefaultRecordStore code refactorings

Contains:
- Pass `now` to all possible methods for expiration
- Rename isReachable to isExpired
- Make expiration check optional in recordstore iterator
- Reduce visibility of some fields in AbstractRecordStore
- Initialize collections if needed.