Sets PREPROCESSOR to run on MESSAGE_TYPE in EXECUTOR.

        PREPROCESSOR: fn(message_content: bytes) -> PreprocessorResult

def set_preprocessor(self, message_type, preprocessor, executor):
        '''
        Sets PREPROCESSOR to run on MESSAGE_TYPE in EXECUTOR.

        PREPROCESSOR: fn(message_content: bytes) -> PreprocessorResult
        '''
        self._preprocessors[message_type] = \
            _PreprocessorManager(
                executor=executor,
                preprocessor=preprocessor)