When optimizing the constructor module for a PWasm contract the "deploy" symbol is preserved instead of the "call"
symbol. Before this change `build` would error for PWasm contracts because `pack_instance` would not find the "deploy"
symbol in the optimized contract.
Fixes#128
* refactored out build to lib
* save_raw returns
* fix indentations and other small fixes
* fix build API
* rename Target to SourceTarget
* fix formatting
* make join runtime_type into runtime_type and runtime_version