C API rewrite work: list improvements, converted sem.

- Added ar_list_t type with add and remove helper methods for C++.
- Changed previous list heads to use ar_list_t type.
- Made thread block and unblock operations methods on ar_thread_t.
- Reworked names of list heads versus list nodes.
- Added missing name fields to most kernel object structs.
- Converted semaphore code.
C API rewrite work: finished conversion, got everything building.

- Added ar_timer.cpp to K60 test project.
- Added a couple more error codes.
- Added APIs to get names of all objects.
- Converted C++ classes to be lightweight wrappers over C API, but
  the same exact API is retained.
- Converted port files.
- Added timer sort predicate.
- Added checks for non-NULL object pointers to all APIs.
- Convered mutex, queue, and timer sources.
- Implemented C APIs to get values of objects, like thread state.
- Updated basic_test.cpp so it will compile.
- Various other cleanup and changes.