Factor keyword/author matching into separate classes

* Validations relaxed slightly where they didn't make sense
* The default and maximum limits are now the same
* More IDs can be retrieved if using the as_meta option