Add Factset

- Factset contains a FactsetId and list of partitions
- Add more tests to PartitionSpec
Wasn't sure what to call this object, so very open to a new name