Add extra checks to isAvailable
Make ChangeVisibilityModifierOfDeclarationFix abstract

The four different *INVISIBLE* things are all handled slightly
differently.