Changed the order of function calls within CocosDenshion::SimpleAudioEngine::end()
to first detach the OpenAL source from the buffers so that sound buffers can be successfully deleted afterwards.

Additionally, improved the documentation within the header file a little bit.
Added to various functions a check whether an OpenAL source exists on which OpenAL functions can be called.
Playback of background music starts now with the previously set volume, independent of the OpenAL source state.
Added a delete on the SimpleSoundEngine object within CocosDenshionTest::onExit() so that alutExit() gets called to release allocated resources by OpenAL.
Merge branch 'openal-deletebuffers' of https://github.com/rafaelx/cocos2d-x into rafaelx-openal-deletebuffers

Conflicts:
	CocosDenshion/include/SimpleAudioEngine.h
	samples/Cpp/TestCpp/Classes/CocosDenshionTest/CocosDenshionTest.cpp
closed #2415: [OpenAL] Adding one line to delete SimpleAudioEngine singleton in SimpleAudioEngine::end().
issue #2415: Formating codes in SimpleAudioEngineOpenAL.cpp.
Merge pull request #3203 from dumganhar/rafaelx-openal-deletebuffers

Merge PR https://github.com/cocos2d/cocos2d-x/pull/3147