Modify FormatProfilerMapper so it can use Tika, DroidDetector and Nanite
in the same map on the same InputStream (for InputStream<2GB).

Various build fixes

Add a method to TikaDeepIdentifier to use an InputStream instead of a byte
array

Additionally output file extension in the map
Allow extension reporting to be turned off easily
[Travis] also compile/test nanite-hadoop
Make Tika the first detector.
Try and lose the buffered data as quickly as possibly without calling GC
Leave DroidDetector alone, better guard filename extension code
Enable nanite-hadoop as a submodule and modify Travis file accordingly
Tika must be the last detector (it causes problems with mark()-ed streams)
Fix logic trap
Fix for waybackDate if <4 chars (encountered in a test file)
Actually set the filename
Refactor filename/URL code
Fix for file extension collection
Merge pull request #4 from willp-bl/master

Changes to allow Droid/Tika&Nanite to all test the same file