picker.toggle, closes #436

Addressing #436, this fix originally focused on mimicking the functionality of a normal dropdown, but some changes have resulted in different behaviour in other areas of the picker.

As far as I know, this could break isInput types, or !picker.component types (Although I would guess it doesn't)

**Possibly breaking changes:**
* Calling `.show()` ***does not*** fire the `dp.show` event if the picker is *open*
* Calling `.hide()` ***does not*** fire the `dp.hide` event if the picker is *not open*
* Calling `.show()` ***does not*** hide the picker if the picker is *open*

[jsfiddle](http://jsfiddle.net/d3wCU/212/) with code from: [build/js/bootstrap-datetimepicker.min.js@d2b2fc1](https://github.com/ZombieHippie/bootstrap-datetimepicker/blob/d2b2fc1e7e25bbbe9dbb5729d7334527a0c0fbef/build/js/bootstrap-datetimepicker.min.js) included