Computations in group cohomology
EDIT: I was explaining this to a grad student today, and I realized that I didn't give any references. The result I describe below was first stated by Sullivan in
Sullivan, Dennis On the intersection ring of compact three manifolds. Topology 14 (1975), no. 3, 275-277.
He claims it is true for a 3-manifold, but all he says about the proof is that it is "a certain amount of soul searching classical algebraic topology.". In fact, the result is true for any connected CW-complex (including an Eilenberg-MacLane space, as in the group cohomology question I was answering). This whole picture was later subsumed into Sullivan's theory of 1-minimal models and rational homotopy theory in
Sullivan, Dennis Infinitesimal computations in topology. Inst. Hautes Études Sci. Publ. Math. No. 47 (1977), 269-331 (1978).
An accessible reference for this is
Griffiths, Phillip A.; Morgan, John W. Rational homotopy theory and differential forms. Progress in Mathematics, 16. Birkhäuser, Boston, Mass., 1981. xi+242 pp. ISBN: 3-7643-3041-4
The stuff on fundamental groups is in Chapter 13. I don't know where the proof I gave first appeared (I came up with it myself, but I doubt I was the first). An alternate and very pretty geometric proof is in
De Michelis, Stefano, A remark on cup products in $H^1(X)$, Rend. Accad. Naz. Sci. XL Mem. Mat. (5) 14 (1990), no. 1, 323-325.
This is very computable. Let $G^{(k)}$ be the lower central series of $G$, ie $G^{(1)}=G$ and $G^{(k+1)} = [G^{(k)},G]$. There are algorithmic ways to compute the quotients $G^{(k)}/G^{(k+1)}$ (eg using the Fox free differential calculus -- see Fox's series of papers on the free differential calculus for the details). The direct sum $$\oplus_{k=1}^{\infty} G^{(k)} / G^{(k+1)}$$ has the structure of a graded Lie algebra with the Lie bracket induced by conjugation (this is explained in many places -- I recommend the last chapter of Magnus-Karass-Solitar's book on combinatorial group theory or Serre's book "Lie Algebras and Lie Groups"). This Lie algebra is generated by the degree 1 piece, namely $G^{(1)} / G^{(2)} \cong G^{ab}$. The degree 2 piece is a quotient of $\wedge^2 G^{ab}$ by some subgroup $R$. I claim that understanding $R$ is exactly what you need to know to understand the kernel of the cup product map. Namely, we have a surjection $$\wedge^2 G^{ab} \rightarrow \wedge^2 G^{ab} / R$$ and thus a dual injection $$(\wedge^2 G^{ab} / R)^{\ast} \hookrightarrow \wedge^2 (G^{ab})^{\ast}.$$ The image of this injection is exactly the kernel of the cup product map.
Let me sketch a proof. To simplify things, let's assume that everything in sight is torsion-free (it will simplify our statements). Set $H = H_1(G)$ and $H^{\ast} = H^1(G) = Hom(H,\mathbb{Z})$. The above will allow you to compute the kernel of the cup product map $\wedge^2 H^{\ast} \rightarrow H^2(G)$ as follows. Consider the short exact sequence
$$1 \longrightarrow G^{(2)} \longrightarrow G \longrightarrow H \longrightarrow 1.$$
There is an associated 5-term exact sequence in group cohomology which takes the form
$$0 \longrightarrow H^1(H) \longrightarrow H^1(G) \longrightarrow (H^1(G^{(2)}))^H \longrightarrow H^2(H) \longrightarrow H^2(G).$$
Now, the map $H^1(H) \rightarrow H^1(G)$ is an isomorphism. Also, $H^2(H) = \wedge^2 H^{\ast}$, and the map $H^2(H) \rightarrow H^2(G)$ is easily seen to be the cup product map. What we deduce is that we have an exact sequence
$$0 \longrightarrow (H^1(G^{(2)}))^H \longrightarrow \wedge^2 H^{\ast} \longrightarrow H^2(G).$$
In other words, the kernel of the cup product map is the subgroup $(H^1(G^{(2)}))^H$ of $\wedge^2 H^{\ast}$.
Let us now interpret this subspace. It is easiest to dualize. The dual of the above inclusion is the surjection
$$H_2(H) \rightarrow (H_1(G^{(2)}))_H.$$
Now, $H_1(G^{(2)})$ is just $G^{(2)} / [G^{(2)},G^{(2)}]$, and we are killing off the action of $H$, which is the same as killing off the conjugation action of $G$. In other words, we have an isomorphism
$$(H_1(G^{(2)}))_H \cong G^{(2)} / [G,G^{(2)}] = G^{(2)} / G^{(3)}.$$
The desired claim is an immediate consequence.
Using Andy's comment and Theorem 6.1 in this paper you can easily work out a computer program to calculate what you wish from a presentation. You will only need to work with groups of nilpotency class $2$.