PLT-487 Enums for PutCall, LongShort, PayReceive

Three new common concept classes `PutCall`, `LongShort`, `PayReceive` to help define data objects.
This seems somewhat arbitrary and unintuitive. It may make more sense if it took a PayReceive param as well, but it's difficult to know without knowing its real purpose.