lua/ironbee: Updating how Lua handles var values to handle targets as well as sources.
tx.lua: Some bug fixes and updating unit tests to new var semantics.

Because the processing of targets does not distinguish between a list of
values, such as "A", and a repetition of values, such as "A:a" and
"A:a", the semantics of how tx handles vars has similarly changed.
RNS-968: use a pool cleanup for TSIOBuffer
docs: Remove ironbee-reference-manual.html which is a clean target.
kvstore: Include order.
various: Spell check.
var: Allow access to the ib_var_source_t in an ib_var_target_t.

This allows user code to better understand what value the target may be
fetching (a list or a scaler, for instance) as ib_var_target_get only
returns lists of things.

This also allows parsing of a target string to remain in var.c and not
be reimplemented by the caller, who would then directly acquire and
query an ib_var_source_t.
tx.lua: Change semantics of tx:get() to more closely match how it worked before ib_var_* was introduced.

The rules of the game:
- If a scalar value is requested, it is converted to a Lua value and
  returned.
- If a list value is requested, a Lua list is returned in which each
  element is a two-elemnt list. Element [1] is the field name. Element
  [2] is the field value.

Field names are included in the second instance because a query for
tx:("request_headers") or tx:("ARGS:/^foo/") can return lists of values
in which the field names are not precisely known.
ibcutil.so: Lua module to with C utility functions.

This change adds the to_ib_float and from_ib_float functions in ibcutil
and integrates those changes into the Lua API.
ironbee.spec.in: Adding ibcutil.{la,so} and ibjson.{la,so} to spec file.
var.c: Removing const from argument. This is consistent with the return value.