Set options object at initialization.

There can only be one options instance and it has to be locked prior to
any drivers being added.  This allows multiple drivers to be attached.
Allow addon functions to be overridden.
Specify the device path at object creation.

We can now control the path from JavaScript, and do various useful
things like check it is valid.  This also allows us to support
multiple concurrent devices.
Set OpenZWave options from JavaScript.
Support DriverMaxAttempts option, defaulting to 3.

The OpenZWave default is no limit, which isn't helpful if we want to
provide a callback or error path here..
Support DriverFailed.
Update test program for recent changes.