Display current live sessions

PT story: https://www.pivotaltracker.com/story/show/74032372
Demo: http://yaro.herokuapp.com/hangouts

Major changes:
- updated the `Hangout` model with: project, event, host, participants, youtube_video_id
- `Project, Event, User` - has_many hangouts association
- introduced `NullUser` class to handle anonymous users
- introduced `HangoutPresenter`
- `UserPresenter`: added `user_avatar_with_popover` method
- added route for `/hangouts/index`, `Hangouts` index page

Minor changes:
- added config to guard to focus on @wip tagged scenarios
- `hangouts_helper`: use project_id instead of project
- default scope for `Hangout` is created_at DESC
- updated `Events` and `Projects` show pages and specs to account for Hangout model changes
- updated `_hangout_button` partial to account for Hangout model changes
- added `_user_avatar` partial and shared_example spec to render user avatars
- added steps definition for `hangouts_path`
- unified the use of `Event.title`, `Project.name`, `Hangout.topic` to use `title` in views 
- avatars show extra user info on hover and redirect to user_profile on click

Refactorings of existing code:
- `hangouts_controller`: identify local requests by ip rather than hostname
- 'BasePresenter': added delegation for `UrlHelper`, added method `presents'
- `UserPresenter`: use `presents` method instead of 'alias_method'
- adjusted step definitions for avatars
- changed to using User and hangout factories in specs and steps

Full version:
![image](https://cloud.githubusercontent.com/assets/5670940/3874617/29e8755a-2144-11e4-9cde-54d12d72b2e4.png)

Responsive version:
![image](https://cloud.githubusercontent.com/assets/5670940/3874720/b82b14d4-2145-11e4-8826-63743ea51c01.png)


or we could just avoid the conditional completely by assigning an empty array:
~~~ruby
participants = hangout.participants || []
~~~