Piezo default octave additions

Added isValidOctave function.
Added note function.
Added defaultOctave function.
Added tests for above.
Added defaultOctave to test tear down.
Update other tests to validate against non octave values.

Note: I'm only a couple of months into js development, if I have done anything non standard or not stuck to the correct form I would greatly appreciate the feedback or critique as it will speed up my grokking of javascript development.
__My thinking:__ All access should be done via the `defaultOctave` function therefore the original default value should live with it. I could have used a closure but I felt that having `defaultOctave.value` available was a nice side effect.

In thinking, the `isValidOctave` method could also be inclosed within the `defaultOctave` function too as it is only really used there.

This is all primarily based on my understanding that since javascript functions are also objects you can compose related functionality around the primary interface and not pollute the parent. I'm open to critique on this though as it's really more based on observational code reading, than anything.