adds plumbing for argument-length mismatch errrors
adds plumbing for non-static main method
adds main class requirement diagnostic
error for missing return statement
first pass on inaccessible method error

currently not providing the right information for diagnostic generation
inaccessible member error rework

now actually have enough data to generate messages
removes now-unused permission error
deletes apparently-unused old diagnostic class
pulls out name clash
adds syntax errors
moves and cleans up notifications code
cleans up old diagnostics
adds new diagnostics
removes references to old diagnostics
organizes imports
moves out nameclashdiagnostic
all unique errors thrown
Merge branch 'unique-thrown-errors'