Make the nth/2 form 10x faster when used with dow/1

With the old code, the following relation required 528,000 inferences to
discover that Day=29.  With the new code, it requires only 56,700
inferences:

         form_time([2013-07-Day, nth(5, dow(monday))])

Using dow/1 as the second argument of nth/2 is the most common use case.

The only downside to this design is that uses clpfd:contracting/1 which
is undocumented.  If that interface is ever removed, we'll lose the
performance optimization (or have to teach clpfd how to contract the
constraints in nth_dow/3).

Close #5