Refactored __setattr__ based attribute handling to property based handling
Giant messy commit after cleaning up using pycharm inspection
Work in progress on other solver interfaces has been separated into separate branches