Move leftover inclusions to where they are needed.
Revert changes to date() method.

The check would be redundant in loops. Instead, I added a dateAt()
method that checks the index (like vector::at).
Merge pull request #49.
Merge branch 'vendor' into revampmarkov