added support for location blocks

use recallocarray it also does an overflow check on multiplication, other than being more readable.

rename mimes to mime ; pass config esplicitly to mime* functions

moving "default type" from global options to server options

move mimes into the struct config

add "mime" and "default type" option for the configuration

improve mime handling we still have an hardcoded list, but this implements the API needed to modify the mappings.