add JSON-based object persistence and change Cast T and S kwargs to temp and sal
update tests for new Cast signature and move to parent directory'