Vectorize Barankin bound using frompyfunc instead of vectorize

The latter determines the number of output arguments by calling the
function with the first input argument. This means that the Barankin
bound was being computed twice, a huge waste of cycles.