Merge pull request #6 from adhearsion/develop

Dump develop into master
Merge branch 'release/0.2.0'
Merge branch 'release/1.0.0'
Merge branch 'release/1.1.0'
Remove implicit dependency on loading activesupport
Merge branch 'hotfix/1.1.1' into develop

Conflicts:
	CHANGELOG.md
Remove implicit dependency on loading activesupport
Bump version to 1.1.2
Move on_end block before recording so it will always fire.
In the previous configuration, the on_end might not be added before the call actually ends if a user hangs up during the recording phase. Putting it here will better ensure it is added properly.
Merge branch 'hotfix/1.1.2' into develop

Conflicts:
	CHANGELOG.md
	lib/voicemail/call_controllers/voicemail_controller.rb
	lib/voicemail/version.rb
	spec/voicemail/call_controllers/voicemail_controller_spec.rb
Starting work on interruptible greeting
Tests have to match the changes made
Added interruptible greeting message, pressing go_to_menu_digit during mailbox greeting takes the user to AuthenticationController
Merge pull request #41 from adhearsion/feature/digit_to_menu

Feature/digit to menu
Refactor the Storage API

Make message types arguments rather than part of the method names. This allows for fewer nasty #send calls and for users to implement their own message types if desired.
Update existing call controllers to use the new storage API
Fix whitespace and change File.exists? to File.exist?
Add a generic storage class

This storage class does nothing except provide a place for voicemail's storage API to be documented.
Replace Storage#next_message with Storage#get_messages

Storage#next_message relied heavily on something being done with each message (archive, delete, etc.). However, if a user wished to just skip over a message, or in instances where nothing was done to the message, each call to #next_message would return the same exact message. Not only does #next_message not do what the method name suggests (it gets the first message in a list, rather than actually grabbing the next message), but also breaks some functionality like message skipping.

An alternative solution to this is to get a list of all messages of a particular type, store them in memory, and then iterate through them in controllers. This allows for a much easier implementation of alternative storage backends, as well as allowing the skipping of messages to actually work.
Rename mailbox[:greeting_message] to mailbox[:greeting]