Return content type from extensions
Remove content_type_of
Check paths against resolved content type
Revert "Check paths against resolved content type"

This reverts commit 410857e3e323935e7b410736344ac8a36aa14c41.
Avoid testing private extensions api
Revert "Revert "Check paths against resolved content type""

This reverts commit 20ef253e622b671e7e831c50b410fe4a2da828ed.
Remove #extensions
Make extensions_for private
Add perf todos
Only call extensions_for once
Detect content type as extnames are processed
Use mime_type from extname lookup
Use looked up mime type
Rename to attributes_for
Just use attr_reader for mime_type
Use attr_reader for engines
Just check .key?
Set :extname to format || engines
Drop engine mime types
Remove content_type from path attributes