Make scrypt parameters overridable/optional when creating the Manager

Here is a proposal for making the scrypt parameters overridable when the Manager is created in the waddrmgr.Create call.

This removes the package scope variables scryptN, scryptR, scryptP and newSecretKey.

Note that I do not store the scrypt parameters in the Manager structure, but persist them in the database so Load can retrieve them in order to recreate the newSecretKey function on the Manager structure which is needed by the ChangePassphrase function. The scrypt parameters are not needed elsewhere.

I've modeled the optional parameter on Dave Cheneys 'Functional Options' pattern: http://dotgo.sourcegraph.com/post/99643162983/dave-cheney-functional-options, with the difference that the parameter function does not work directly on the Manager structure but on an auxiliary options structure.
As discussed above. I'd much rather waddrmgr exposes something like:

`type Options struct {
	ScryptN, ScryptR, ScryptP int
}`

Then the caller creates an options instance like:

`opts := &Options{ScryptN: 16, ScryptR: 8, ScryptP: 1}`, or just  `opts := &Options{16, 8, 1}`, but I prefer to be explicit in case the struct adds new options fields in the future before the scrypt params.

Finally, the caller passes that options struct to `Open` and `Create`.   They can pass nil for the options struct pointer for defaults.