A Boxology of Design Patterns for Hybrid Learning and Reasoning Systems