Modify pinctl to be platform-independent + minor edits

Pinctl is now platform-independent and can be used as a basis
for making the other parts of the library platform-independent.

utility/data.h has also been modified to better support compiling
with -pedantic. The developer can choose to define __STRICT_ANSI__,
which will use a different version of container_of and offsetof
at the cost of some type-checking.
Merge branch 'master' of https://github.com/nusolar/sc6-pic32-code