Prevent map file generation failing because of nulls
Map file generation fails when GeminiExtractor encounters a GeminiDocument with no Bounding Boxes or DescriptiveKeywords.
Have added checks for no bounding boxes and descriptive keywords and either returned a default Envelope or empty list.
Also modified the configuration so that it automatically creates itself as a Bean using @Service annotation. Moved it out of the services package as it is too big and confusing.