Init
-----APDL Experimental Revision 9-----
-apdl_handle_safe_die() renamed to handle_safe_die() (no need for prefix as it is namespaced)
-implemented fs-to-url rewrite callback:
     -conf/base.php rewritepaths() callback fn
     -APDL\HTTP class rewritepaths event in webpath()
     -init.php bind rewritepaths() in conf to HTTP above event
 -APDL\MySQLi get_pkey() isset check to prevent notice
 -APDL\DB_RECORD:
     -Warn if table has no primary key column and no selector column specified
     -Warn on __get-ing invalid column
     -&__exposedate() to provide direct access to data array (for other AR class wrappers relying on this one, etc..)
     -GetPKField: removed check
     -GetRecordSelector() instead of __pkselector: now returning full record data based selector if no PK is available
 APDL\BASEOBJECT:
     -get_called_class() and get_class() in debug log messages to display proper class in object context event management operations
     -fired events now return callback fn results
 APDL\DUMMY: log now states "failsafe dummy object" instead of simple "dummy object"
 -Don't log internal sysvar assignments
 -Color marker of PHP messages in log
 -Removed lib/db.php (very old unused and incomplete code)
 -Small undocumented formal changes
Fix typo in var name
-Moved logging and debug settings to conf/base.php
-ADPL_DEBUG is now APDL_SYSMODE: PRODUCTION/DEBUG/BACKTRACE
-Added OUTPUT and HTML5 classes (instead of primitive APDL::EchoHTML)
-Removed APDL::EchoHTML and assets/skeleton.html
-Rewritten log to use HTML5 Output class
-Implemented debug backtracing in log (click on log entries if sysmode set to allow backtracing)
-Added jQuery, backtrace.js to assets (for debug backtrace display in log output)
-Moved the APDL logo to img subdir in assets
-Moved the log style from inline code to assets/css/log.css
-Added sysvars url_rewrite and url_route_key (for link generation)
-Added Controller class
-Added two-way URL routing
-Added APDL_START_MT constant with microtime(true) to init.php
-Added LICENSE
-Fix: Missing title accessor element in HTML5 class
-Fix: reverse routing nomatch empty $err notice
-Fix: reverse routing problem with combined (backreference+static) target url parts (by implementing backreference value masking)
Alpha 1:
-Added debugger overlay
-DB Layer fixes
-Added DB Based config (loads values into APDL globals)
-Controller fixes
-Global bindings
-Added module handling
-Routing fixes
-Added utils lib
-Moved conf
-Added routes config
-Restructured core loader
-Added support for class based (traditional) controllers (extend ControllerBase, set __instance of controllerhost to a new instance)
-Modulewide interrupt function support added (invoked just before controller execution)
-Added support to provide args to module initializers (be careful with autoloading as it won't provide args!)
-Added support to construct controllers with route results directly
-Fixed a problem with the HTTP lib (some system constants won't got initialized until the autoloader loaded it's class)
Alpha 2 (since previous commit)
-Fix bad class name in event handling class
-Fix missing default arg for globally binded apdl_load_module()
-Reworked internal module loading algorithm to prevent creating blackholes on recursive load calls
-DB_RECORD: Fix setting up encoded fields on records marked existing outside of the constructor, ::Where returns false if no db if available, included proper constuctor override parent call in a comment above __construct
-DBCONF: Fix constructor parent call
-Controller: Added logging of controller execution events
-Core: Kimified APDL_INTERNALCALL (it was something similar already, now it's funny too :D)
---ALPHA 3---
-Added public static Expand() to DB_RECORD to be able to define expanded/encrypted fields (after subclass declaration) without overriding the constructor

-DB_RECORD got some ORM support:
Added public static Relate($field,$class) to be able to directly access records referenced by their key via column name's overloaded property.
Setting properties marked as related to a non-object directly sets it's value to the given value, while setting it to a corresponding record (an instance of the class assigned to the column) sets it to this record's primary key.
Only subclasses of DB_RECORD can be set in relation mappings.

-Added public Copy() for cloning records. If the copied record has a primary key, it will be resetted to null.
-Added public static SGetPKField() to check a table's PK in static context (needed for internal checks)

-Added DB_RELATIONSTORE class (for internal usage with ORM functions)

-DUMMY now creates its optional log entry on construct instead of every overloaded function call
Fix: set up autoloading of DB_RELATIONSTORE, and also redirected autoloading of all classes in the DB library to lib/db.php because there are global functions in some of those files which could not get loaded in rare conditions. This makes sure for now that any DB operation will trigger loading all DB related stuff until revising the structure of the lib.
Fixed previous change causing multiple inclusions resulting in fatal class redefinitions
-DB_RECORD field existance check now always and immediately (skipping table mapping) returns true in production mode. This resulted in an avg. 3ms shorter runtime with a smaller project hosted on a better-than-average webserver :)

-Fixed a critical data isolation issue with DB_RECORD's new statically invoked features (expand,relate). This issue forced a minor class redesign because of PHP's late static binding rules. Protected static __expanded and __related fields are now not declared in DB_RECORD, to force all table representation classes (child classes of DB_RECORD) to declare it themselves (as redeclaration can't be checked). Classes not declaring them cannot use the relevant features. This is nescessary to force PHP separate static variables storing field maps per class, preventing maps to flow to other classes (resulting in a complete mess), which would otherwise happen because DB_RECORD class's static vars would be pointed to by late static binding references from child classes not redeclaring them.
Changed DBCONF to use static Expand() (and declare protected static __expanded according to DB_RECORD redesign, see last commit) instead of constructor override.
-Added a setting to specify default module directory, so APDL_SYSROOT/mod won't be registered if a different directory is specified here. Secondary module directories could be added already with MODULESTORE::add_dir(), but APDL_SYSROOT/mod were always added until now, resulting in unnecessary IO operations when using a different directory and not using the default at all. Now it can be avoided by simply changing the default value in the configuration.

-Modified a warning text in the system loader
-Fixed module interrupts
-Added DB_RECORD::Count() to count all records with SELECT COUNT(*)
-Fixed webroot detection on some servers configured to include a trailing slash at the end of document root
-Fixed DB_RECORD::Count() causing parse error in PHP 5.3...