Replaced peek of 0x10C in OS workspace with call to SWI OS_MonotonicTime.
Removed a hardcoded 0x03800000 address, now calls SWI OS_Module.

Deleted "h.version" - no longer used (VersionNum included directly).
Added "smb_search.txt" to docs as it doesn't seem to be in recent CIFS specs
but we still use it.

Bizarre system variable LMDefaultType renamed to LanMan$DefaultType to match
the other similar variable names. Globals moved into LM_Vars structure.

Documentation of supported system variables:
 LanMan$ScopeID <string>               Sets the optional NetBIOS scope id
 LanMan$NameServer <ip-addr>           Sets the address of the name server
                                       to use
 LanMan$DefaultType <filetype-string>  Sets a default filetype to use, when
                                       reading an SMB share and no filetype
                                       can be deduced this will be used, when
                                       writing no ",xxx" extension will be
                                       used for this type either

Replaced TIFF in the built in filetype table with JPEG, removed ARC. This
means the table now contains things that can be opened with the ROM apps only.

Removed debugging LMStats command (the stats now appear in LMInfo)

Function OmniS_FastMultiply64 was pushing LR to use as a scratch register (as
was macro FunctionEntry) with no corresponding pull. As macro Return happens
to pull LR the return address was valid but left a word on the stack for
every call to Free. This resulted in free (being the first value printed)
being correct but used and total space wildly incorrect: a 1132 terabyte
drive in my case.

Removed
 FSEntry_Func_Reason_ResolveWildcard
 FSEntry_Func_Reason_ReadFreeSpace
 FSEntry_Func_Reason_ReadFreeSpace64
since these are only called if the FS supports image file extensions, which
LanManFS doesn't.

Minor tweaks
 Marked a few tables as const, corrected some spelling mistakes.
 %lx formatters changed to %x to remove a few compiler warnings.
 Changed spelling of "Disk" to "Disc".
 Added syntax description for ListFS to explain optional [server] parameter.
 Changed print formatter for *FREE to match that of FileCore.
 !MkDebug switch renamed so it assembles "s.Interface" correctly.

Rewrote directory finding routines (SMB_ReadDirEntries and its callers) as
it dealt poorly with reentrancy. This was highlighted by a desktop count
of a complex directory tree such as C:\Windows\System32 where it would
inexplicably stop part way through (on the test WinXP system about 2000 files
in) and some duff SMB responses coughed up onto the network.
This was caused by the resume value being associated with a specific
directory handle (but not being able to return both since OS_GBPB only allows
a 32 bit context to be returned in R4).
When desktop count recursed into a deeper level the top level find query
was closed, then when returning to the top level desktop count correctly
carried on from the last R4 context it had but the search went off in the
deeper (still open) find query. eg.
 :
 \Windows\System32 [say 1000 files total]
 :
 [500 normal files here]
 :
 \Windows\System32\SmallDir [say only 10 files]
 :
 [try to continue at position 502, but request it from 'SmallDir']
 :
It was also mind meltingly complicated for no apparent reason.

The short filename version has been correspondingly updated, so they both now
count the same number of files. Because the short name version has a 21 byte
directory context to return in R4 a simple hash of this is used, on future
calls the search will use the last cached 21 byte context only if the
directory hasn't changed AND the context is valid AND the hash matches -
otherwise a manual search for the hash is made (which may be a bit slow but
hopefully infrequent).
Short directory find tested by setting MAX_DIALECT to 0 temporarily.

The short filenames version of Att_GetInfo was rudely stomping on the load
address, now it AND's and OR's only the nybbles it is responsible for.

Modified the short filename character translation table to allow "{}" since
these are valid in both DOS and RISC OS, whereas before they had an
asymmetrical mapping.
