controller: add UnsupportedController for unsupported features

Rather than handling unsupported features wrongly, returning '501 Not
Implemented' is much better.

Change-Id: Icd2b9c20eaa533e4dc8447d44b63d8a5f8d2ccb0