add contributing.rst to documentation
add appendix and move frm_format into appendix section
allow main() to accept argv list
maintain defaults null_map in a python3 compatible way

- frmdump otherwise was failing under python3 as thi was
  previously generated via map() which is not subscriptable
  in py3
make mysqlview import configparser in py3 compatible way

- previously was only importing ConfigParser, which fails
  under py3.  Now attempt to import configparser and fallback
  to importing ConfigParser
fix logic for unpacking signed 3-byte quantities

- multiple logic errors would give completely invalid
  values for various signed ranges.  removed too-clever
  conditionals in favor of more verbose if/else tests.
default sql security for views is DEFINER, not INVOKER
flake8 cleanups
allow specifying endianness for 32/64 bit unsigned integers

- this is required to support the hires mariadb date[time] types
  which are packed in big-endian format.
add support for reading 6-byte integers

- also used for mariadb time(N) hires types where
  we may read data as up-to 6-byte big-endian integer
use "query" field in views to better match mysql output
more code cleanups from flake8 reports
implement (precision, scale) for float/double defaults

This should now properly decode default values for float/double
types that have a default value set.
fix bug in float / double formatting

- unsigned was only set if (precision, scale) was not used, due
  to bad flag checking.  frmdump's behavior should now be much
  closer to that of MySQL.
implement default value decoding for MariaDB TIME(N) fields

- implements the logic for Field_time_hires unpacking based
  on earlier patches for bigendian integer decoding in
  the ByteReader utility class
fix bug in formatting microseconds in MySQL 5.6+ TIME(N) fields

- This is separate from the previous mariadb work and affects
  output issues with MYSQL_TYPE_TIME2, where excessive
  insignificant zeros could be output.
implement default value unpacking for mariadb TIMESTAMP(N)

- this logic is identical to unpack_type_timestamp2 from mysql5.6,
  so if a scale > 0 is detected, frmdump now filters the default
  value processing for a mariadb MYSQL_TYPE_TIMESTAMP field
  through unpack_type_timestamp2.
handle '0' epoch for mysql timestamp values

- when epoch is 0, the default value should be '0000-00-00 00:00:00'
  rather than 1970-01-01 00:00:00, which was frmdump's previous
  behavior.
implement default unpacking support for MariaDB DATETIME(N) fields

- frmdump now implements support for Field_datetime_hires types.
  Previously garbage output was used for the default value as
  the standard datetime type uses a completley different packing
  format.
fix bug in formatting microseconds for mysql 5.6 TIMESTAMP(N) fields

- previously trailing zeros were stripped to early and in many cases
  result in wildly incorrect display of microseconds.