InputService.find() throws exception when record is not found.

This prevents an NPE when find() is called for non-existing input
ids.

Fixes #684
Needs more [`Optional<T>`](http://docs.guava-libraries.googlecode.com/git/javadoc/com/google/common/base/Optional.html) rubbed on it, but I guess using an exception instead is fine in this case.