BaseVariable / New Variable
Updates to Constant and Archive
Removed previous Variable
EventEmitter
Events in Expressions
Events in Variables (WIP)
Events in variables (WIP; tests passing)

- Fix _lower_bound
- Prevent negative intervals in _prepare
- Get with interval 0 returns 1 value only if out of range or if there
is a data point at the requested time.
- Get should always return at least one value as long as there is data
in the variable.
- Fix calls to _get
- Move _at into a function, don't interpolate if _get only returns one
data point.
- Variable change event is fired after _value is updated, so that
dependent expressions will update correctly.
- Change and and or to & and |. Need to implement real and and or
methods.
- Fix this <-> self typos.
New EventEmitter implementation.
Make sequence and controls use new events (WIP)
Fix typo
Added more tests, fixed errors (WIP)

- Basic tests for Variables
- Basic tests for Sequence, Parallel, While, WaitUntil, Call
- Basic tests for Bind
- Refactored Looping
- Changed EventEmitter - check each event function directly instead of
testing for "in"
Add eclipse IDE metadata file to gitignore
Only use Archive for numeric types.
Use events to propagate changes in variables.

- Add EventEmitter class. Variables, Expressions and Steps extend this.
- Special StringArchive added for non-numeric data.
- Variables emit "changed" events.
- Expressions do not keep an archive unless get() is called.
- Steps changed to rely more on events rather than loops - interval
parameter removed from on, once, wait_until steps; bind and statemonitor
controls.
- Add tests for data and sequences.