Sapphire: A Configurable Crypto-Processor for Post-Quantum Lattice-based Protocols (Full Report)