I am using CDH 5.2. I am able to use spark-shell to run the commands.
To load an external file from spark-shell simply do
:load PATH_TO_FILE
This will call everything in your file.
I don't have a solution for your SBT question though sorry :-)