Is it possible to weld or merge two control points of a curve?
Unfortunately there is not.
If it is a Poly type curve composed exclusively of straight linear segments, then you can safely convert it to a mesh object, remove doubles as mesh, then convert back to a curve.
If there are curved segments converting to mesh will be a destructive process, so the only way is to manually go over the duplicate vertex, and erase/fill.
Make sure you place the cursor over the existing handle first, so when you erase one vertex you can fix the handle position for the following one, then erase the vertex and press F to fill the gap or Alt+C to close the curve if it is the last gap. Then you can send the handle to the correct position using the snap menu with Shift + S > Selection to Cursor.
For Blender 2.8+ to make a spline cyclic or closed, select the spline and go to the menu at the top Curve > Toggle Cyclic.
You can also toggle it from the Properties Window > Curve Object Data > Active Spline > Cyclic U*.
Merges two end control points into one while preserving the relative positions of their handles.
After installing and activating the addon in User Preferences, you can access the functionality while in Edit Mode in a Bezier curve object, by pressing W > Specials Menu > Bezier CAD > Merge Ends
For Blender 2.8+ Add Curve: Curve Tools addon is shipped by default and has a Remove Doubles operator that works like the mesh counterpart.
You can find it by default under the 3D View Sidebar ( N, Edit Tab, Sanitize > Remove Doubles.