Updated search API to remove duplication.
Added search criteria objects for different data types
Added tests for dataset metadata searching