Added initial version of API design specification

Not yet complete, first doc für review purposes. Future design specs shall be pretty similar.
I don't think this should be optional, again. Fine to document that not everything does use it, but please point out that everything *ought* to accept bulk params. (And that if you can't think of how to make them bulk, you probably aren't thinking hard enough. Example: "StateServerAddresses" is non-bulk, but what it *should* have been doing was asking for the addresses to use *for specific entities* -- ie `StateServerAddresses([machine-0, machine-1, unit-wordpress-7])`, which might return different addresses for the different entities, because machine 0 might be a state server and want to use `localhost` for one of the addresses, where the other entities just use the globally-scoped ones.)