Revert "Revert "Refactor: separate method metadata from invocation parameters""

This reverts commit 9eecebcc2266876e7a0c1f1a97c5258c4b7b8238.
Revert "Revert "Refactor digesting""

This reverts commit 993db63dd7d5ba216973aae91e8d232d108479b2.
Revert "Revert "Some refactoring; support for https://github.com/timmolter/XChange/issues/114""

This reverts commit e924553352bb42411e8c6b8b9d50638648555a93.
Change minor version since the API has changed