Breaking Change: Throws exceptions now

Spark API error response too inconsistent. Attempting to abstract away
behind exceptions. Variable query errors are still a bit odd.