Maintain shared parser instance per thread

Avoid the overhead of creating new parser for every parse operation.
Cache the file path resolved from the framework

Can't we use the (final) 'path' field for that purpose?
Close listeners in reverse order to ensure proper finalization (#460)
Maintain shared time format instance per thread
Spare using (custom) StreamReader for one-time read operation
Don't prematurely wrap streams in Buffered ones

The original FileInputStream (DiskFileSystem.getInputStream) was
wrapped once in BufferedInputStream, and then wrapped in a
BufferedInputStream once more by
SimpleFileVersionsController.getContent().

It is dubious whether BufferedInputStream is any helpful as
consumers usually take care to read it more efficiently (in larger
buffers), already.  BufferedInputStream also adds unnecessary micro
synchronization to read operations which might hurt performance
more.
CommandRunner – read directly from input (no BufferedReader overhead)
SlimServer: Optimize response output synchronization
Tests: Use free available SLIM_PORT where applicable
Dark bootstrap (bootswatch – slate) theme