Fix: Revise HTML producing code to produce VALID html

HTLM Issues addressed:
* a stray, unopened \</span\> was being placed at start of body of HTML.
* use of XHTML \<br /\> instead of correct HTML \<br\> to force new lines
  in produced HTML text.
* empty lines were not being reproduced when copying from clipboard to
  HTML.
* previously produced HTML was being place all on one line, no line-feeds
  in HTML source - by changing the CSS "white-space" arguments they are now
  put into the produced HTML making it possible to edit it in a normal text
  editor but it should still render correctly.
* the data "type='text/css'" was missing from HTML \<style\> tags - this is a
  mandatory attribute for that type of tag under HTML 4.01 strict (although
  not for later HTML 5).
* the \<title\>\</title\> tag-pair was missing from the \<head\> part of HTML
  documents produced - The \<title\> element is mandatory for HTML 4.01
  strict.  It is now created with data about the source of the HTML.
* the charset \<meta\> information was not as far as possible towards the
  start of the HTML \<head\> as it could have been - it is best practice to
  do this as a parser must restart parsing a document when it encounters
  this type of information that changes the encoding away from the default
  ISO-8859 form.
* the list of mono-spaced fonts in the header CSS data did not include, as
  the first entry, the font that was actually used for the source of the
  HTML data.
* no default font size or line spacing was set which makes different
  browsers behave differently, especially if zooming is used, the
  parameters used now should produce HTML that is as similar as possible
  when showing the same output on most modern GUI-type browsers.
* there was no indication as to Mudlet, being the source of the HTML, as
  the generator of the HTML - this now happens and includes the application
  version data.
* the "copy To HTML on the clipboard" code ( in
  TTextEdit::copySelectionToClipboardHTML() ) did not append the \</body\> &
  \</html\> tags to close the end of the document produced.
* the selection of only part of the first line of text onto the clip-board
  did not previously take account of the offset necessary for that line
  to line up with the following lines.
* the use of \<span\>\</span\> tags requires them to be used inside another
  block element inside the \<body\>\</body\> part of the HTML document but
  this was not being done. A \<div\>\</div\> pair now meets that requirement.

Also:

When logging console output to a file the filename was being saved in a
local variable in TConsole::slot_toggleLogging() and not the class member
with the SAME name "mLogFileName" that was defined for the purpose.

The date-time format used for log file names has been changed
from: dd-MM-yyyy#hh-mm-ss
  to: yyyy-MM-dd#hh-mm-ss
so that an alphabetic sort of file-names will agree with a sort on the
file creation/last modified metadata.  This should make it easier to pick
out a wanted log file from a directory listing.

The tool-tip for the "record to log file" TConsole control button is now
dynamically modified to reflect the current recording/not recording state.

With these changes the HTML that is produced should pass validation by
the W3C on-line or other HTML validators.

Note: to concatenate multiple log files they may be joined by cutting and
pasting at the \<div\> and \</div\> boundaries - possibly with an \<hr\> to
delimit the join so that they are arranged:
\<!doc..\>\<html(1)\>\<head(1)\>\</head(1)\>\<body(1)\>
           \<div(1)\>...\</div(1)\>\<hr\>
           \<div(2)\>...\</div(2)\>\<hr\>
                   ...         \<hr\>
           \<div(n)\>...\</div(n)\>\</body(n)\>\</html(n)\>

Signed-off-by: Stephen Lyons \<slysven@virginmedia.com\>
This is one I forgot to undo when trying to split the HTML rework so that the stuff I set out first was fixes rather than rewrites.  In fact most of these lines _WILL_ gain the QStringLiteral() because it marks out text that is _NOT_ to be translated _c.f._ QObject::tr() which marks texts that are to be run though Qt Linguist.  Each const char * text enclosed in double quotes will throw a compiler error if/when QT_NO_CAST_FROM_ASCII is defined which is used to ensure all user visible text goes through the tr() method - I'm just [planning ahead](https://stackoverflow.com/questions/24799284/protect-myself-against-forgetting-to-enclose-string-literals-in-tr/24799396#24799396) whenever I write text strings nowadays...