Add support for comparing two commits

 - [x] add interface, implementation and response
 - [x] add reactive implementation 
 - [x] unit tests
 - [x] convention tests
 - [x] integration tests
 - [x] update commit model to use what's in #433 
 - [x] tighten up parameter validation based on feedback