Updated JointFCalendar type

* Added onbad field. If true this means that the calendars’ bad days
are joined to create a new FinCalendar. Otherwise, the calendars’ good
days are joined to create a new FinCalendar. The former is
predominantly used in markets in the sense that a day is judged to be
bad if it is bad in any one of the multiple calendars.
- Cleaned up isgoodday method signature to reflect changes made to the
JointFCalendar method
- Fixed join method definition
Fixed up calendar test cases