Added `open`, `opened` and `closed` events, a transitioning class and a working example

As requested by the backend devs, I've added a is-transitioning class to the accordion block to enable them to wait for the accordion to open or close without waiting for an arbitrary time for the accordion transition to finish, which may change without notice or be affected by the machine it is running on.

The accordion already had a `close` event triggered when the `close()` method is called, but before the transition is complete. I added the `open` event triggered on `open()` for symmetry and added the `opened` and `closed` events after the transition is complete (which would have useful in the PPC project). I used these events to toggle the `is-transitioning` class in the time between these sets of events being fired.

I also added the minimal required dependencies to the component `development` key to assist users of the component get it setup quickly and an example to demonstrate its use and for testing.