Allow presence-of to supply multiple keywords

-- note that this is currently a little broken as it doesn't update the
error messages. Needs work! Will rebase this commit once it's fixed.