Data Refactor 2

Consolidated redundant file reading loops in DataFile
Data Refactor 3

Switched data storage in Node to use Data instead of Array.
Data Refactor 4

Small fix to graph controller to avoid null attributes.
File Content Caching
Attribute aspects and TimeFrame

Implemented Timeframe and TimeFrameMenu, introduced Attribute aspects.
Created data for connections, but didn't implement it. Minor various
bugfixes and refactors.
Popup Window and Aspect change

An Attribute can now have any combination of aspects, rather than just
one. Aspect colors are blended. Also implemented PopupWindow, which is
sent text/functions to call on button presses. Pressing escape cancels
the Popup.
TimeFrameMenu Invalid Data Option

Added a toggle for start and end date behavior with invalid data
TimeFrame Format Validation

Implemented format validation for TimeFrame; users specify Year, Month,
etc with no duplicates. Need to make this a dropdown.
TimeFrame Format Validation 2

Fixed typos
Node and Connection extend Data

Reconfigured the way that Node and Connection handle data. They now both
extend the Data class, so any attributes are held by the objects
themselves, rather than the Node/Connection having a Data object.
Date Calculation

Implemented date calculation based on the timeframe defined in the
TimeFrameMenu for Nodes and Connections.
Implemented Timeline

Implemented the timeline, which updates the current date and has markers
for each unique date in the system.
TimeObject CurrentDate Implementation

Nodes and Connections now respect the currently selected date on the
timeline. Removed options for how to handle invalid dates.
TimeSeries Node Size and Centrality Coloring

Node size based on number of connections and centrality measures
(including coloring) are now updated when dates are changed.
TimeLine play pause and skip buttons

Implemented skip forward and skip back and added buttons for play and
pause, but didn't implement them.
TimeLine play implementation and misc

Implemented the Play button on the timeline. Also, camera no longer
rotates when clicking a menu, and fixed a bug that was preventing node
resizing when disabling TimeSeries.
Label alignment fix

Several menus were broken by the TimelineMenu's centered style. Resolved
this issue.