Add basic diff patch

Cleanup diff / patch support from #56