Added `maintain_stem_directions` config option to `generateBeams()`

Test (assume 4/4 time signature):
![image](https://cloud.githubusercontent.com/assets/1631625/2867293/690ad9ee-d234-11e3-9d08-62cd57518149.png)

Test with `beam_rests`:

![image](https://cloud.githubusercontent.com/assets/1631625/2867290/5e7f6710-d234-11e3-84f8-fcdadfd214b0.png)

Additionally I fixed a couple bugs. One with stem down beams and rests:
![image](https://cloud.githubusercontent.com/assets/1631625/2848789/ac897006-d0c5-11e3-84e5-dba020e461c4.png)

Fixed:
![image](https://cloud.githubusercontent.com/assets/1631625/2848794/c8b17756-d0c5-11e3-994e-8baadc73c48e.png)

Additionally, I fixed issue #215 where auto-beaming broke if a beat-group contained an unbeamable note.

![image](https://cloud.githubusercontent.com/assets/1631625/2849040/97eb669e-d0cb-11e3-88ff-0ca01c04e8e2.png)