(API) Fix up the "Architecture" entity

Override `Architecture.create` and `Architecture.read`. This makes it possible
to:

* Create an architecture that points to some number of operating systems.
* Read which operating systems an architecture points to.

Update the test suite to exercise these changes.
Merge pull request #1444 from Ichimonji10/architecture

(API) Fix up the "Architecture" entity