feature/s4u support

Adds in S4U support.  The S4U support is optional -- to disable it,
just comment out the 's4u' extension module in setup.py.

Closes #31