Interfaces, global address locking

Added several hardware abstraction interfaces for hardware-independent
closed loop actuator control. Also added was ObjectLock, a global
address locking system. This functions similarly to C#’s lock
directive, in that any object can be arbitrarily synchronized by
address, although it requires homogenous integration in whatever code
is accessing locked data. It also poses the risk for high contention as
the lock list requires global synchronization for safe modification,
though a distributed hash sorting synchronization system may greatly
decrease this problem.