Clean up initial prototype.

* Separate GPIO module bits into a model module.
* Allow GPIO module to be absent.
* Consolidate POST on list urls.