* create 2.0.0 branch
* V0/V1 Slate Removal + Grin Header Version Bump (#140)
* Remove V0 and V1 Slates from Wallet
* rustfmt
* V1 API + V2 wallet to wallet impl (#144)
* remove v1 API
* rustfmt
* convert http adapter to use V2 api
* rustfmt
* V2 API conversion Pt2 - Check version (#146)
* call check_version on wallet before http send
* rustfmt
* Support new Bulletproof rewind scheme (#122)
* Restore with LegacyProofBuilder
* Switch to ProofBuilder at HF block
* Switch proof builder for coinbase outputs at hard fork
* Use valid_header_version to switch proof builder
* Fix compilation errors
* Use legacy proof builder for AutomatedTesting chain type
* Add macro to avoid duplicate code
* Read version info from server, react accordingly (#154)
* read and parse version, bump hf
* rustfmt
* add foreign api middleware check
* rustfmt
* add middleware checks
* rustfmt
* add check for incoming pre-hf slates
* api tests
* Add double rewind period (#155)
* Add double rewind period
* Simplify restore
* Fix comment
* bump imported version for beta release
* version bump for next (potential) release
* Provide more specific error when other wallet is outdated (#162)
* add appropriate error message when other wallet is out of date
* rustfmt
* missing cargo.lock
* move api deser types into separate types mod
* rustfmt
* missing types file
* make all exports from libwallet more explicit
* rustfmt
* add version check function to foreign api
* rustfmt
* change check_version return value to result, for consistency
* add slate upgrading/downgrading
* add slate versions
* slate versioning compilation and tests
* transaction slate responses downgrade themselves to the version of the caller
* add command line arg for target slate version output
* v2 versioning comment info
* doctest fixes