Add test for handshake start

Also, fix issues to make it pass
Refine and test the exchange model

Refine and test the exchange model up to the handshake step
Add missing tests to DefaultHandshakeTest
Refactor Exchange.Amounts
PR feedback
Address some feedback from PR #184

* Rename `Exchange.startHandshake()` to `Exchange.createHandshake()`.
* In `DefaultHandshake`, introduce an additional validation of
refund transactions that checks the correctness of the refund amounts.
* Fix some typos in Scaladoc
Addressed some feedback from PR #184

* In `DefaultHandshake`, move refund validation into function
`signRefundTransaction()`.
* In `DefaultHandshake`, remove fruitless confidence type checks.
* Make package private all members of `impl` package.
Merge pull request #186 from apoloval/issues/41

Refine and test exchange model (Cont.)