Failed captures return nil

Breaks backwards compatibility, but I think its worth it, given the major difference between no match and an empty match.