When we don't know the levels corresponding to the open and closed contour lines, we can identify the closed contour lines exploiting the fact that for closed lines the first and last points are the same. Of course, there is no such convenient trick to identify a "Separatrix".
cp = ContourPlot[(1/2) u^(2) + 1 - Cos[Theta], {Theta, -4 Pi, 4 Pi}, {u, -5, 5},
ContourShading -> None, Contours -> {Automatic, 30}, ImageSize -> 300, PlotPoints ->200];
lines = Cases[Normal[cp], Line[x_], Infinity];
difs = Norm[#[[1, -1]] - #[[1, 1]]] & /@ lines;
closed = Pick[lines, difs, 0.];
open = Complement[lines, closed];
Row[{cp, Graphics[{Blue, closed, Red, open},
AspectRatio -> 1, ImageSize -> 300, Frame -> True]}]

With
options = {ContourShading -> None, Contours -> {Automatic, 10}, ImageSize -> 300,
PlotPoints -> 200};
cp = ContourPlot[Cos[x] + Cos[y], {x, 0, 4 Pi}, {y, 0, 4 Pi}, Evaluate[options]];
the same procedure gives

And, with
cp = ContourPlot[Evaluate[Sum[Sin[RandomReal[5, 2].{x, y}], {5}]],
{x, 0, 5}, {y, 0, 5}, Evaluate[options]];
