Fix issue #46 (divide by 0), merge jonnybazookatone code (issue #45)

The condition you want to check is `any( [i['authors'] for i in result[0] )`, isn't it?

I still think that this logic should be live in `author_match.py` (it should be smart enough to immediately return `[]` without calculating anything).

I say this because it makes the code more portable. I would prefer:
    
    L = []
    return sorted(L)

instead of:

    L = []
    if L:
        L = sorted(L)
    return L

In essence, I want to trust that logic concerning limiting cases is implemented in the function correctly and not have to think about it myself.