Fixed most bugs identified by Jacks: Round 4.

- Fixed remaining access control issues, except for certain, rare
ambiguous member bugs, which require a revision to class resolver
method.
- Fixed TypeBuilder to handle anonymous classes more gracefully.
Anonymous class is pushed in the same way, but needs to be "entered"
when the class body is visited.  This avoids a problem when the
qualifier of instance creation is also an anonymous class instance.
- Static field target might not be the field's container, but could be
the container's subclass.  This was a problem when a class inherits a
field declared in an inaccessible superclass.
- Interfaces do not have Object has superType, but implicitly declare
public methods in Object.
- Changed the order of things to search when resolving a name in a
context to respect JLS.
- A method could implement another that is not accessible in direct
superclass.
- Removed erroneous package-type clash check.

Added relevant test cases.