move writer class for reuse in memory status page

Summary: Move the writer class so that it can be reused for the memory status page. This also have an initial class for the memory status page which will be populated with metrics on in later diffs.

Reviewed By: @edwinsmith

Differential Revision: D1505623
Streamline destructor call

Summary: Using baseless mode, and a memory operand instead of a load
saves two instructions for the table-lookup destructor
call sequence.

Reviewed By: @bertmaher

Differential Revision: D1503998
Compile warning in ipc format

Summary: Cygwin's sysv ipc layer uses a long long int for key_t which makes for noise when compiling
And I hate warnings

Reviewed By: @JoelMarcey

Differential Revision: D1502077
Revert "Merge pull request #3516 from MaideCa/thirdparty_sqlite_386"

This reverts commit eb5a264803fab4e8c974b6fd68522c83fc3ac263, reversing
changes made to 8a9a63d5af72bc37ceb12dea57834c8af41a52a7.
Fix compile error for non tls code branch

Summary: New VASM code has a new template for how emitTLSLoad work
however there is no corresponding template for the non fast-tls branch so the compile is failing

Since there is currently only one call into the new version of emitTLSLoad from emitGCContext
this has the non fast tls branch use the previous call until the new code has working stuff for the non-fast tls branch as well

This is also a fix for github issue #3519

Reviewed By: @edwinsmith

Differential Revision: D1508584
implement VASM emitTLSLoad for non-fast TLS

emitGetGContext unconditionally calls into emitTLSLoad(..., ..., Vreg)
which didn't previously exist when fast-TLS was unavailable.

Closes #3519.