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.