change hais50p from inline to static ALWAYSINLINE

included compiler.h for macro
lock.h wraps GCC extensions

shouldn't this be in compiler.h?
doc update

Classified headers according to functionality