Support deeper inspection of TLS, particularly SNI extension

With this feature comes a number of structural changes.

* sslhaf_cfg_t::suites now becomes an array of pointers to a
  suite description object that contains a nice name field and a
  key length field.  This table is auto generated from the
  suites.csv document located in the source tree.
* sslhaf_cfg_t::compression_methods is now an array of objects
  describing the compression method, as of now just the id field
* sslhaf_cfg_t::extensions is an array of objects describing the
  extension, with more detail provided for certain supported
  extensions, as of now just SNI
* streamlined data types used in sslhaf_cfg_t and parsing code,
  in particular using uint16_t or uint8_t for sizes where the
  sizes are sourced from two or one bytes
* standardised use of offset variables to aid code readability.
  offset variables are prefixed with '_to_go' indicating the
  number of bytes remaining in their respective domain
* standardised coding style of bounds and error checking to aid
  readability and resilience to coding errors
* reduced return codes to a smaller set.  additional error info
  added to sslhaf_cfg_t as 'last_error_' fields.  Original OK
  return code remains same, but all errors are now < 0.
* SSLHAF_AGAIN error code added as a special non fatal error code
  to indicate requirement for more data, will add support for
  incremental addition of data in future.
Include sslhaf/sslhaf_suites.c in .gitignore
Support fragmented data

* Allow multiple calls to sslhaf_decode_buffer containing incremental
  amounts of TLS message data.  The return value will be SSLHAF_AGAIN
  as long as there is not enough data to process a message.
* User is provided with two new statistics: input_used_session and
  input_used_total, indicating how much valid protocol data was
  consumed in the previous call to sslhaf_decode_buffer, and in all
  calls to sslhaf_decode_buffer.
* Method of buffering is simplistic at this stage. TODO: implement a
  better way of doing this, perhaps using bulk pre-allocations, or
  finish the pagebuf object.