Bastion: refactor nutupane to accept $resource and convert system subscriptions.

Nutupane should only require a $resource (or similar object) to work rather
than relying on an arbitrary Collection object.  This commit fixes that as
well as introduces a pattern for how our APIs should return lists of data.