Creating a resolver base class

Lots of the functionality in ExtractorId and SerializerId was
duplicated, so I extracted it out into a base class called Resolver.
Adding PreprocessorId resolver
Refactor RepoConfig#add_serializer so it takes a name as a first argument
Refactor RepoConfig#get_serializer_config to search by name as well as id
Preprocessor should return original object if not allowed