Simplify component key validation (one regex, less branches in validateKey)
Move project key validation to core