Can now cache an InputStream, creating a new InputStream from a byte[]
on each use.  This is faster and fixes some issues when re-using a single
InputStream.

Code added to characterise using vanilla-Tika and extract file extension
(although the file extension code is not perfect)