Use typesafe C++11 enums. Move sendDirectCommand and sendSystemCommand to a separate layer. Renamed Comm classes to Transport.
Merge branch 'master' into refactor-hierarchy
Implemented ConfiguredNXT, use SensorPort, SensorType. Added factories for motors and sensors. Fix compilation errors. Adapt test example to new API.
Move comm, sensors and motors layers to each own header file.
Move motor code.
Move sensor code.
Move comm code.
Removed unused variable.
Merge branch 'master' into refactor-hierarchy
Added nullptr implementation for GNU C++ < 4.6. Fix compilation errors in Bluetooth module.
Move NXT::configure after NXT::open is called in the test example, sensors won't be initialized until the underlying communications layer is opened.
Call NXT::open from NXT::configure to ensure that a configured NXT is always be open.
Improve C++11 detection.
Use correct names for the Find* modules
Remove nullptr hack. Added test for type-safe enums
Follow CMake convention for modules (i.e. cmake/Modules, cmake/Tests). Move CXX11 detection CMake module to the same directory as the rest of the CMake modules
Use libc++ if using Clang
s/NXT/Brick/g, s/ConfiguredNXT/NXT/g
Merge branch 'refactor-hierarchy' into macosx-bluetooth