Upstream

General improvements.

- Fixed use of inline. Implementation for inline methods now provided via zinc.cpp in addition to inline-specified methods, since the compiler may choose to ignore the request, in which case an implementation if required.
- Fixed `update` methods not being marked virtual.
- Rewrote the makefile.
- Removed the binary from the repo because there's no reason for it to be there.