Changed CompileJavaccTask base class and added default filter

In our use-case, the input directory contains other stuff than plain JavaCC input files. Here some works to fix this issue.

 * The base class for `CompileJavaccTask` is now a `SourceTask`, given us
   access to easy filtering using includes and excludes as well as
   easier handling of source files.
 * Added default include filter `**/*.jj` to only use JavaCC input
   files.

The addition of a default include filter could be seen as a BC break. Removing it would be ok since it is now possible to use `include "**/*.jj" in task configuration to only include certain files.

I had to change some tests because the behavior is a bit more clever now. Output directory is now not created if there is no input files and input directory is not required anymore.

Regards,
Matt