Yes, that did the trick.  I used your idea in many different tests that I have done and basically added the second of the following two lines and that seemed to do the trick.
Thank you!
...
Plane Surface(1) = {1};
Physical Surface(2) = {1};
------------------
Francis Poulin  
Associate Dean, Undergraduate Studies                   
Associate Professor
Department of Applied Mathematics
University of Waterloo
email:           fpoulin@uwaterloo.ca
Web:            https://uwaterloo.ca/poulin-research-group/
Telephone:  +1 519 888 4567 x32637
 
 
 
 
 
 
2) For splines, I have also removed the point (updated code below) and when I look at it using gmsh I see that some points aren't actually on the boundary.  This does seem odd but I am not sure how to fix it.   Should I use a different kind of spline?
 
The problem may be this: the Gmsh concept of Physical versus Elementary entities.
Your Gmsh file has only Elementary entities (Point, Line/Spline, Line Loop, Plane Surface).  The trick is to mark the domain (for this two-dimensional problem) as a Physical Surface and each part of the boundary as a Physical Line.  In three dimensions,
 those would be Physical Volume and Physical Surface, respectively.
When a Gmsh file has no Physical entities, Gmsh puts everything into the mesh, including construction points (centres of arcs, control-points of splines), which often end up as disconnected, but if there is a least one Physical entity, only those finite
 elements belonging to Physical entities are included in the output .msh.
A quirk of Firedrake, maybe inherited from PETSc which I think it uses to read Gmsh meshes, is that every part of the boundary has to be declared as part of a Physical Line/Surface, even if it's only going to get homogeneous natural boundary conditions
 in the finite element problem.
Hope this helps; I can supply a little example, if the above is unclear.