REL-1474: fix a bug with matching libraries and change the initial filter defaults

REL-1474 refers to adding a filtering option that allows you to filter out programs in remote databases.  That feature was included before we switched to git and git hub.  This PR includes two minor changes to this existing feature:

1) A bug fix for matching non-standard program ids.  The issue was that library ids do not have a `ProgramType` and therefore are `Arbitrary` ids. This change removes the reliance on `toString` but I still consider it a half-measure.  Eventually we need a single program id that is much more like the Scala `ProgramId` than the Java `SPProgramID`.  The fact that it is possible to have a `ProgramId` that cannot be converted to `SPProgramID` is too awkward.

2) Change the default values for the filters in the open dialog so that engineering, calibration, other and library are off by default (as requested by Andy).
Mostly I just needed to rename the existing `toSp` method which has a different return type than the `StandardProgramId.toSp` method so I could have something common across arbitrary and standard ids.  Whether it is a `lazy val`, a normal `val`, or a `def` in this case shouldn't be of much consequence? Thinking it through though, `ProgramId` isn't stored anywhere I think so the space for another field doesn't matter and you're probably always going to need the `spOption` value, maybe even a couple of times while filtering so maybe `val` is the right answer.  It isn't clear that it matters much though.