Refactored the session handling so that we only have one session object
Modified DataSet.delete() so it'll now delete parent model instances