Show settings: added MAS_NO_CLOSE status.

To the 'w' command (show settings) from the main command-line menu,
added a line giving the status of the MAS_NO_CLOSE option - i.e.,
whether sockets will be closed after each request/response (MAS_NO_CLOSE
is not set) or kept open (MAS_NO_CLOSE is set).  Also, added
doc/applications/lookup_files to the git repo, since it is used/read by
the 'lookup' script and in order to stop git from reporting it as
untracked.  (And gitignore lookup.pl, which is linked to lookup.)
Bug fixes - closing sockets, etc., version update

Socket-connection logic with MAS_NO_CLOSE set (sockets are kept open
between request/response actions) - when the client unexpectedly closes the
socket on its side several times (i.e., leaving several sockets open but
unused on the server side), at some point the server stops responding to
new connections; not sure why, but it appears that the open sockets somehow
interfere with new connections being made.  The fix is to detect when
there's a socket error (i.e., caused by the socket being closed on the
client side) and mark the socket for closure/removal (by marking the governing
CONNECTED_SOCKET_POLL_COMMAND as expired) and then closing all expired
sockets, as well as removing the governing POLL_COMMANDs from the
MEDIUM_POLLER's read queue, as early as safely possible.  This
closure/removal is done in the new (i.e., redefined) post_listen procedure
in MA_SERVER, which is called in the eternal loop (in 'make') just after
listen finishes - via a new CLEANUP_SERVICE/register_for_cleanup framework.
(The CONNECTED_SOCKET_POLL_COMMAND is registered, right after it is
created, for 'cleanup' by MA_SERVER.)  The logic in the pervious version
had poller.remove_read_command being called too soon - while the
CONNECTED_SOCKET_POLL_COMMAND.execute procedure is still processing (called
by the MEDIUM_POLLER), which caused a problem in the poller's
'process_selected' routine by means of a side effect - the
internal_read_command_list had an element removed by remove_read_command,
which caused its 'forth' routine, called by process_selected, to trigger a
precondition violation.  The current cleanup-based design does not invoke
remove_read_command until MA_SERVER.listen (which invokes process_selected)
is finished, eliminating this side effect.

Fixed another bug (or mis-feature) that occurs when a socket error causes
CLIENT_REQUEST_COMMAND.execute to call 'handle_exception', which then
terminated the process.  It's not harmful and better for the server to
continue when this kind of error occurs - fixed by adding 'io_exception' to
the list of exceptions to "NOT terminate" on (in EXCEPTION_SERVICES in the
eiffel_library).  As well, added error-status information/logic so that
when the socket error occurs (since the process is no longer terminated),
the error is detected at the appropriate level and the socket is closed and
the governing poll_command removed at the appropriate time via the
above-described 'cleanup' mechanism.

Also fixed a bug in CONNECTION_CACHE.add - it was calling 'contents.prune'
to remove expired CONNECTED_SOCKET_POLL_COMMANDs, and 'prune' does nothing
in a BOUNDED_QUEUE.  Changed to build a list of items to be removed, get a
copy of 'contents' elements via 'linear_respresentation', clear/wipe_out
the 'contents' queue, and then put the non-expired elements (from the copy)
back into the queue.