Improved filtering of exogenous variables

Now removes exogenous variables when they only appear as interactions; added stop for unsupported model classes; added stop for empty basis set (somehow was removed in previous edits)