DateTimeImmutable migration

Pull request for #139

Note: this Pull request is a work in progress, and is not ready for merging.