Fix #50: Handling of members access permission changes

Improved changed member detection to include those that were public/protected and are now package/private.
Added compatibility checks for access permissions (http://docs.oracle.com/javase/specs/jls/se7/html/jls-13.html#jls-13.4.7).
Fix for https://github.com/jeluard/semantic-versioning/issues/50
At this point `addedMethods` contains the methods of the new version that are valid according to the `DiffCriteria` (line 388).
That means that in the case of a `SimpleDiffCriteria` the methods that are package/private have been filtered out and are not taken into account.
If a method has been changed from say public to private, it is present in `removedMethods` but not in `addedMethods` at this point.
Using `newMethods.keySet()` we also retain the package/private methods and can detect the change.