Fixes #196

Return InvalidAppMaster if Class.forName fails. This message will be stored in the AppManager.appMasterRegistry and returned to the client when the client issues a ShutdownApplication(appId) so the client knows why the appmaster failed. Note we need to account for some sort of history server so an audit log exists similar to YARN's history manager and tracks all appmasters execution. This will be addressed is a subsequent issue opened.
Also upgraded akka to 2.3.8 which removes some bogus disassociated messages.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/intel-hadoop/gearpump/206)
<!-- Reviewable:end -->

Which way should the submission error should be passed back to user?

Seems now the error is passed back by replay to ShutdownApplication? I don't think it is right. User may never call ShutdownApplication for long running job. I think it is better to pass it back in response to SubmitApplication. 

Yes, the code need refactory(maybe by changing the flow of SubmitApplication, so that we can reply a accurate state of submission), but I don't think current refactory is in right direction, an refactory in wrong direction will just make the code worse, and cause more pain.

About how to refactor it, I think it still requires discussion. So, currently, let's just focus the "issue itself", which is to handle AppMaster crash, and do a better fix in later checkin.

If you still insist storing the failure information, I will suggest creating a new map to store this, instead of using AppMasterInfo. I think that will be easier for future refactory.