Updated to 0.8.10.

Changelog:
New Features in Qore

    better HTTP support; support for chunked sends and receives for
streaming data over HTTP and other improvements:
        HTTPClient::sendWithSendCallback()
        HTTPClient::sendWithRecvCallback()
        HTTPClient::sendWithCallbacks()
        HTTPClient::setPersistent()
        Socket::readHTTPChunkedBodyBinaryWithCallback()
        Socket::readHTTPChunkedBodyWithCallback()
        Socket::sendHTTPMessageWithCallback()
        Socket::sendHTTPResponseWithCallback()
        Socket::pendingHttpChunkedBody()
    added a minimum body size threshold for compression to HttpServer
    RestClient module updates:
        configurable content encoding for send request message bodies is
now supported (ie optional compression)
    new user modules:
        Schema: for DB-independent schema management
    new public C++ socket performance instrumentation API
    new functions:
        Qore::close_all_fd()
    new constants:
        ESRCH: search error
    getModuleHash() and getModuleList() no longer return the "filename"
key when run in a Program context with Qore::PO_NO_EXTERNAL_INFO set
    SqlUtil updates:
        added insert operator support; for example, for inserting with
values from sequences
        added new upsert constant maps
        added static SqlUtil::AbstractSqlUtilBase::getDatasourceDesc()
method
        added new Table::insertFromSelect*() variants taking Table
arguments
        added SqlUtil::Table::checkExistence() method
        added support for the "forupdate" select option
    OracleSqlUtil updates:
        fixed selects with "limit" but no "offset"
        convert date/time values to timestamps with microseconds
resolution instead of dates with second resolution when dynamically
inserting values as strings in SQL (binding by value not affected)
    CsvUtil module updates:
        added the "write-headers" option to CsvUtil::AbstractCsvWriter
and subclasses to enable headers to be suppressed
        added the "optimal-quotes" option to CsvUtil::AbstractCsvWriter
and subclasses to enable more efficient csv output (now the default)
    added AbstractDatasource::currentThreadInTransaction() which is
reimplemented as Datasource::currentThreadInTransaction() and
DatasourcePool::currentThreadInTransaction(); the base class method
throws an exception when called; it was not added as an abstract method
in order to not break existing subclasses of AbstractDatasource
    enhanced module license support
        module license strings may now be specified in binary and user
modules
        Qore::getModuleHash() and Qore::getModuleList() now report
license information for each module

Bug Fixes in Qore

    fixed an issue with class constant parse initialization where
invalid recursive class constant definition parse exceptions could be
raised and in some cases also crashes could result
    SmtpClient module: fixed missing username and missing password
errors
    fixed a bug where a qore switch statement with no case conditions
and only a default label would erroneously never have it's default code
executed
    fixed a reference leak related to exception handling with invalid
arguments with Qore::Socket::setWarningQueue() and
Qore::HTTPClient::setWarningQueue()
    fixed several bugs where the parse location could be reported
incorrectly for type errors regarding in-object variable references
    fixed a bug where an error could result with Condition::wait() with
timeouts > 2147483648ms
    fixed bugs handling "bigint" and "double precision" column types
with schema alignments with the PgsqlSqlUtil module
    fixed a bug handling parse initialization of constant values
requiring run-time evaluation after other parse exceptions have been
raised that could cause a parse-time crash
    fixed a bug where qore could crash on exit with certain openssl
versions by calling ERR_remove_state(0) in the main thread's cleanup
function
    fixed a bug where qore could crash on exit due to user module
destruction not taking into consideration user module dependencies
    fixed a bug in schema management in SqlUtil where excessively
verbose column aliases were used that caused errors when automatically
updating columns with existing rows and new default values and non-null
contraints with PostgreSQL databases
    fixed a bug where a call reference to an abstract object method
returned from an abstract class could be executed even though it must
have been instantiated by a concrete subclass
    fixed a bug where a valid call reference to a private object method
was created within the class, then in some cases an object protection
exception was raised when the call reference was called outside the
class
    fixed a bug in the RestClient module when the yaml binary module is
not available
    fixed programmatic select queries with "limit" but no "offset" in
OracleSqlUtil
    fixed a bug in Qore::Program::importFunction() where only the
committed function list was checked when importing functions with a
specific target namespace path
    fixed a bug in Qore::Program::importClass() where only the committed
class list was checked when importing functions with a specific target
namespace path
    fixed a bug when parsing subnamespaces into a parent namespace where
the subnamespace already exists (either in the committed list or in the
pending list)
    fixed a memory and reference leak caused by recursive references
when closures encapsulating an object's scope are assigned to or
accessible from members of the object by making references to the object
from within a closure encapsulating the object's state weak references
instead of strong references
    fixed schema information classes when the "string-numbers" driver
option is enabled
    fixed crashing bugs in Qore::get_thread_data() in certain use cases
    fixed a bug in SqlUtil where select and row iterator operations
could fail with certain select hash arguments without a "columns" entry
but where column names were otherwise required
    fixed a bug in HTTP response parsing where case-signficant
comparisons where being made with certain critical header values
    fixed a bug handling thread cancellation with the ThreadPool class
    fixed several race conditions and potential deadlocks in ThreadPool
destruction with active threads in the pool