#324 ライフサイクルのイベント実行順を変更。テストケースを記述。
テストケースは、h5.core.controller_lifecycle.jsを作成して、既存のコントローラのテストのファイルと分けて記述しました。
(masterへマージする時に必要ならマージします。)
#324 コントローラのテストを整理(順序変更、モジュール切り分け)
h5.core.controller_lifecycleのテストをマージ
#324 ライフサイクルの実行順をチェックするテストについて、__postInit,postInitPromiseの実行順のチェックを追加
コントローラのバインド先をテスト内で作って消していたものについて、モジュールで作るように修正
ソースコード修正
　コントローラそれぞれでコールバックを実行する関数の動作がおかしかったので修正
　rejectしていくdfdの順序を制御
　リファクタ
#324 __metaのテストを追加。
不要なDOM生成及び、不要なDOM削除(QUnitによってテスト毎に削除されるもの)処理を削除。
popupWindow内のコントローラがgetAllControllers
で取得できることを確認するアサートを追加。
iframeを使用するテストで、iframe内のコントローラをdisposeできていなかったのでteardownに処理を追加。
#324 __metaチェックのタイミングを修正
__metaチェック(__metaの記述構成のチェック)は同期で行い、rootElementの判定については子の__initの前のタイミングで行っています。
#324 window.openを使用するテストで、window.close()する前にコントローラをdispose()するように変更
(リファクタで、順序が逆になっていたので、修正しました)
#324 以下、リファクタしました。

isLifecyclePropertyで$.isFunction()による判定を削除
(ここでチェックしていてもライフサイクルイベントに関数以外が指定された場合、not a function呼び出し時にはエラーになるため)

checkXXX -> validateXXX にリネーム

validate関数は一カ所にまとめました

controllerGroupEach, childControllerEachを使用できるところはそれらを使用するように修正

getAncestorControllerPromise,getDescendantControllerPromise,setExecuteListenersFlagで、走査するターゲットが重複することはないので重複チェック処理を削除

useHandlersを参照するのは、bindByBindMap時に参照するように変更。
bindDecendantHandlersはcontrollerGroupEachを使用するように変更

createCallbackForInitで作成するコールバックでvalidateエラーが起きた時にcontroller.dispose()していた箇所を、controller.rootController.dispose()に変更

bindAndTriggerReadyは、triggerReadyに変更し、bindAndTriggerReadyを呼んでいた箇所は、bindByBindMapをcontrollerGroupEachを使って呼ぶのと、triggerReadyを呼ぶように記述しました。
triggerReadyで、postInitPromiseを待つ必要はない(executeLifecycleEventChainで待っているため)ので、whenでの待機処理を削除しました。

initRootAndParentControllerを使っていないので削除
#327 __metaのチェックを行わないようにしました。
Merge branch 'controller-lifecycle'