Deal with a case where `data` is empty
Allow incomplete `dict` for `from_dict`
Remove redundant tests
Add `+`, `*`, `-`, `/`, `*=`, `+=`, `-=`, `/=` and `==`
Replace `set_strike_dip_rake` by `strike_dip_rake.setter`
Add `_error` and use it instead of `assert` and `raise`