Move SoapboxRequest & SoapboxResponse to core.py