shared: Fix compiler warnings in buxtonsimple for GCC 4.8.1

Due to the use of proxied macro prints, the compiler is under the impression
that the variables are unused before printing in buxton_debug. As opposed to
clearly marking them __attribute__ ((unused)) and causing confusion, we
explicitly tag them as "_bxt_used_", which in reality is defined as
__attribute__ ((unused)) - however it keeps the usage within the code more
logical.

Signed-off-by: Ikey Doherty <michael.i.doherty@intel.com>
TODO: Add hashmap replacement to list of items

This is in relation to issue #124

Signed-off-by: Ikey Doherty <michael.i.doherty@intel.com>
libbuxton: Set strings to const for the API

Because clients are often using "const char *" instead
of just "char *" in their internal API, it make sense
to offer this new API. Their are two main reasons:
- passing a "char*" for a "const char*" is safe
- the developer doesn't have to ask himself if removing
the const with a cast is okay or not

This change will bump our library version.
shared: Take commandline configuration option as const
libbuxton: Take set_value argument as const
libbuxton: Prefixing types with BUXTON_TYPE_

The items STRING INT32 UINT32 INT64 UINT64
REAL DOUBLE BOOLEAN are potentially conflicting.

Prefixing it is merely better.
test: Don't fail on EAGAIN write errors
shared: Improve array index bounds checking
shared: Use same index/length type for BuxtonArray
shared: Use braces in buxtonarray

Signed-off-by: Ikey Doherty <michael.i.doherty@intel.com>
shared: Correct BuxtonArray get check

Arrays should not be returning data past their length. Fix check to
return when the index given is past where data has been stored.