65 rework of detection

We were having problems with any.py, so I rewrote it.

Features:

* new extension detection function (you can pass a whole filename/URL)
* nice lists of mimetypes/extensions parsed
* special pleading for XLS/XLSX files :(
* tests for autodetection
* various fixes