Add @Inject handling; support handling program run output

Specifically with @Inject we include injecting the right
@ClientSpecific implementation for an interface (or abstract class)
based on the "client" JSON key. Just because I'm not planning to
support other clients doesn't mean I shouldn't make it easy to add :)