termio.py:  Added the term_id value to the metadata frame written at the beginning of all .golog files.  Not presently used by anything but it seems like a good idea.
termio.py:  Changed the log metadata format slightly:  Instead of using 'cols' it is now using 'columns'.  Only mildly backwards incompatible.  Old logs will just have the columns missing in the log viewer.
termio.py:  Added the ability to include 'additional_metadata' when creating a new instance of Multiplex().  You just pass it as a named argument like so: `m = Multiplex(cmd, additional_metadata=some_dict)`.  Where 'some_dict' would contain strings of key:value pairs that you want included in the log.  This metadata can be extracted from the logs at a later date via the termio.get_or_update_metadata() function.
app_terminal.py:  TerminalApplication.new_multiplex() will now provide additional_metadata that includes the user's IP address and UPN.
app_terminal.py:  Added a new plugin hook:  'Metadata'.  Plugins can add functions to this hook to their 'hooks' dict to add whatever metadata they like to all session .golog files (aka session logs).  These functions must return a dict which will be used like so: `additional_metadata.update(*returned_dict*)`.
app_terminal.py:  Modified the naming convention of .golog files to include the IP address of the connected user.  This should close (feature request) issue #289 (https://github.com/liftoff/GateOne/issues/289).