Get rid of excessive forced [no]inlining.

Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
Remove some unused code.

Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
Document interfaces

This involved a bit of name changing and fixing a few bugs found in testing

Signed-off-by: Paul Durrant <paul.durrant@citrix.com>