Adding ModelStateError if there is no input formatter selected.

well, the cleanup is unrelated, I did that because otherwise the test would have to setup modelMetadata. Ideally this should have been done with the formatters pr.