Switch to using named arguments, rather than positional ones.
Fix a bug preventing Java builds from being automatically cleaned.

$protoc -I. --python_out=python test.proto => python/test.proto
$protoc -I. --cpp_out=cpp test.proto => cpp/test.h cpp/test.cc

but:

$protoc -I. --java_out=java test.proto => java/Test.java (note capital)

This resulted in SCons silently assuming that because it could not find java/test.java that
the target was already clean.