require all whitespace in keys to be a single space

Summary:
Previously we were using `.split()`, which allows any mix of
whitespace characters to delimit words in a string. As we move towards more
names with whitespace (like `required fields`), it's best to make this stricter
now.

Test Plan: Tried a field with too many spaces. Got an 'unknown field' error.

Reviewers: sean

Reviewed By: sean

Differential Revision: https://phabricator.buildinspace.com/D45