Proto multiresult periodprop cb

Ok, it's almost just one commit. :)

If you were looking at my previous most recent pull request, this commit builds on those with a few more changes (and a fix or two, e.g., single path result), most notably:

1. Exposing toPathString and toPathArray as public class methods
1. Changing the new API order with the path expression before the json object, so that the arguments go from simple to complex: string->JSON object->callback function.
1. Allow all properties (except autostart) to the evaluate() method so that configuration defaults can be overridden on a per-case basis without creating a new object.

You also may not have noticed a couple recent additions into the previous PR:

1. The ability to execute callbacks as terminal values are obtained.
1. A preventEval option.

This PR fixes issues #20, #22, #24, #34 ,  (and the preventEval option is an inadequate temporary replacement for #4 ).