Fix #173 and add tests for Unit

We have a Tang test failure on Unix environment with #173. This change is to fix the test issue in testDeserializationForEvent 

It also added a few test cases for missing @Unit. 
• If @Unit is missing and you want to inject a inner class. Tang will throw InjectionException with message like “Cannot inject com.microsoft.tang.MissOuterUnit$InA: No known implementations / injectable constructors for com.microsoft.tang.MissOuterUnit$InA”. This is because, without @Unit, Tang would treat the inner class as a normal class and look for @Inject constructor from it. 
• If @Unit is missing and you put @Inject for the inner class, Tang will throw ClassHierarchyException with error message like “Cannot @Inject non-static member class unless the enclosing class an @Unit.  Nested class is:com.microsoft.tang.MissOuterUnit$InB"