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).
I'm not too deep in the details but I also understand that lazy vals are quite a bit more expensive than regular vals, you need to get a lock somewhere I guess
My impression is that lazy vals should be use sparingly only where the lazyness helps on the initialization order or similar cases