Simplify Loc.doesMatch_?

As I was reading over this code to look at this issue, we were calling
Link.isDefinedAt to determine whether or not to call Link.appy.
Link.apply calls Link.isDefinedAt to determine whether or not to throw
an exception.

This seemed redundant in this particular case, so I've reduced this
method to a simple boolean expression that should have the same effect.
Add and implement the MatchWithoutCurrentValue LocParam.

The MatchWithoutCurrentValue LocParam overrides Lift's default behavior
of considering an Empty currentValue a non-match for a Loc. This default
action is desirable in most circumstances, but occasionally we want to
allow client code to define some custom behavior in the event
currentValue comes up Empty.

Using this new LocParam in combination with IfValue would allow them to
do so.
Add specs to prove MatchWithoutCurrentValue works as expected.
Add an example of using MatchWithoutCurrentValue with IfValue.
Merge pull request #1487 from lift/msf_issue_1487

Need a way to customize fail behavior in menus/param menus