Validate index name patterns

When creating a new index pattern, we used to allow any sort of input. This caused problems (see #2326) when the user entered something invalid. This PR creates an index pattern validation directive that ties into Angular's form validation service and prevents submission when the index pattern is invalid.

Closes #2326.
You should probably use some kind of regex here to check for leading characters - this would accept `...`, for example.