Compile Shims to ease developing multi version Spark libraries, these should only be used in provided scope