Metadata extractor plugin and some minor fixes

Ok, we can leave this for now. If it becomes more than one we should make a server_requirements.txt and client_requirements.txt. We do the same thing in core to separate out the dev-only dependencies.