Re-encapsulate PWM class attribute sets and writes.
Make path creation errors more verbose.
Initialize pwm slot in module, rather than in pwm class.
Some more cleanup in PWM module.

Still have some kruft in here...
Minor overhaul of PWM code.

Now use pwm_test_* device run file to start and stop the device,
removing necessity of maintaining an "is running" variable in the PWM
class. Factored out writing to the pwm files into the larger module
and tried to slim down the PWM wrappers a bit. Note that because duty
cycle depends on frequency, because it is actually a pulse width, we
have some slightly off encapsulation in the class.
Redo PWM api to take a pulse width rather than a duty cycle.

This exposes more transparently what the pwm device is actually doing:
the duty file is actually just a pulse width. Treating it like a duty
cycle created (circular) dependencies between frequency and pulse
width in the api, resulting in annoying situations and poor
design.
Clean up bbio.py file manipulation a bit.