Moving S2ECallBuilder into pass directory

This causes the implementation to be included in the shared library file
for the pass. For some reason, when being placed at a different location
it was not loaded properly by `opt`, causing parts of the pass execution
to fail.

... yes, you heard right, "parts of". It somehow managed to start
executing the pass, and later on failing due to a missing function
implementation. I guess it was doing some kind of linking + executing at
the same time.