Changed clockXXX to clock_pinxxx. CLock would have been an internal use name and clock_pin a user type so removed clock and just kept clock_pin.
Platform tests for clock_pin type
Applied name change of clock.h / clock.cpp to clock_pin.h / clock_pin.cpp
Platform tests for clock_pin type
Major rework: removed clock class merged inherited functionality into clock_pin. Re-worked clock_pin construction to be safer in the face of exceptions and added clock allocation/deallocation support to prevent the same clock being used more than once (within process checks only).