Changed to Java 8, added unit test libs, and tested/refactored Solenoid classes

The 2015 WPILib and control system will use Java 8. It would make a lot more sense for our competition robot (anything using the RoboRIO) to switch to Java 8. (Code that has to run on the old robot can't use Java 8, so merging this PR means that this code can only be used by the RoboRIO. Older robots that use the CRIO would have to continue using older repositories and code.)

Added Eclipse Kepler preferences under `support` directory. Eclipse Kepler is the best version to use with Java 8.

Added JUnit libraries under the `libs` directory. Also created a new `testsrc` directory under which all test code should be placed. Moved the mock implementation classes to that directory, and created a `LimitedSolenoidTest` class. Running these tests showed some deficiencies in the `Solenoid` interface and implementation classes, so they were refactored so that the logic would work correctly and the tests would pass.
Most of the methods now call `checkState()` method, which encapsulates all of the logic of determining the current state given the known information and the delegate switches and solenoid.