librustc: Implement overloading for the call operator behind a feature

gate.

This is part of unboxed closures.

r? @nick29581
Both were broken :) Fixed now and tests added.