Initial implementation of the adventure xblock

Initial implementation of the adventure xblock, build with Backbone + Marionette.

It currently only read the raw xml config.... but this will be modified to use lightchildren. To make this testable on the client side, we can only mock the function that fetch the data in the controller.
This does not match what's in adventure.py. In fact, you have here `is_last_step` and are even using that once in the code, but that value is never set - `has_next_step` is what's actually set.

The model as defined in `adventure.py`:
```python
                'step': {
                    'name': current_step.name,
                    'has_back_step': True if current_step.back else False,
                    'has_next_step': True if current_step.next else False,
                    'html': step_fragment.content,
                    'has_choices': current_step.has_choices,
                    'xblocks': [],
                    'is_studio': getattr(self.xmodule_runtime, 'is_author_mode', False)
                }
```