Update the fake api server to allow per-model customization.

This will allows developers to better handle requests to the fake api.

This isn't a user facing change so as soon as tests pass it can be merged.