Add better handling for _ and $ in java names

This probably still wont cover every case but should be an improvement

Things like m_thisIsATest should now be acceptable with
the ignore single letters. Also $thisIsATest or even $_thisIsATest
can be used.

fixes #41
Added more checks before processing a resource

Now it should exist, be a file and have a java like extension.

(I don't know, but I expect this to include groovy if you have such
handling installed - if not that will require extra handling.)

Also checks before clearing so will stop project close causing exceptions.

fixes #42