Don't generate so many invokedynamic callsite names

Java 7 doesn't seem to like too many unique callsite names in a single class (Java 8 works ok, though)
It causes execution for queries with many projections to fail with:

    Exception in thread "main" java.lang.BootstrapMethodError: call site initialization exception
        at java.lang.invoke.CallSite.makeSite(CallSite.java:298)
        at java.lang.invoke.MethodHandleNatives.linkCallSite(MethodHandleNatives.java:295)
        at Runnable_1.run404(Unknown Source)
        at Runnable_1.run(Unknown Source)
        at com.facebook.indytest.Main.main(Main.java:8)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at com.intellij.rt.execution.application.AppMain.main(AppMain.java:134)
    Caused by: java.lang.NullPointerException
        at sun.invoke.util.ValueConversions.unboxInteger(ValueConversions.java:77)
        at java.lang.invoke.CallSite.makeSite(CallSite.java:282)
        ... 9 more

For future reference, here's a stand-alone test case that reproduces the issue: https://github.com/martint/indytest
Generate all bytecode under a well-known package

It makes it easier to analyze heap dumps and look for class memory leaks