simplify GuestPass by extending BasicPermission, and test the hashCode method
add generic type parameter to remove lint warning
clean up tests

- convert CallerBasedSecurityManagerTest to use data provider for multiple test cases
- use actions in TestPermission to provide descriptive comments in test failures
- extract permission names into constants
update README file
convert to LGPL