Problems 102, 123, 131, 187 added, utils.py edited.

New functions added to utils.py:

    dot(v1, v2)
    vec(p1, p2)
    cross_2d(v1, v2)
    same_side(p1, p2, a, b)
    in_triangle(p, t)
    pi(n) (prime counting function)
    semiprimes(n)

p102_triangles.txt was added as p102 needs it (it's its data file, with
1000 triangles to analyze).