autoload library directories

The vendor directory is managed by composer.  It's ignored by git and should not be [polluted](https://getcomposer.org/doc/faqs/should-i-commit-the-dependencies-in-my-vendor-directory.md) with non-managed directories.  So, I've added `library` folders for both Admin and Catalog.  They can be used for core ZC code as well as required 3rd-party code, such as Aura - which I've included.  Additionally, local code can also live there, i.e. `Texdc\Admin\MyFancyWidget` in `admin/library/texdc/my-fancy-widget` - if not managed by composer.

The autoload config has been moved to `admin/includes/config/config.autoload.php` so that it can be managed independently and overridden easily.  There are 2 new directory constants, `DIR_ADMIN_LIBRARY` and `DIR_CATALOG_LIBRARY`.  I can update the documentation on how to use and override these config files, when necessary.

Lastly, I believe that the `zcDashboardWidgetBase` class was inadvertently left out of #95.  It's renamed to `ZenCart\Admin\DashboardWidget\AbstractWidget`.

Thanks again for adding namespaces and autoloading :100: .  This is a great start to refining and modernizing ZC code!
<a href='#crh-start'></a><a href='#crh-data-%7B%22processed%22%3A%20%5B%22https%3A//github.com/zencart/zc-v1-series/pull/97%23issuecomment-48861020%22%2C%20%22https%3A//github.com/zencart/zc-v1-series/pull/97%23issuecomment-48861218%22%2C%20%22https%3A//github.com/zencart/zc-v1-series/pull/97%23issuecomment-48861255%22%2C%20%22https%3A//github.com/zencart/zc-v1-series/pull/97%23discussion_r14865170%22%2C%20%22https%3A//github.com/zencart/zc-v1-series/pull/97%23issuecomment-48916602%22%2C%20%22https%3A//github.com/zencart/zc-v1-series/pull/97%23issuecomment-48957191%22%2C%20%22https%3A//github.com/zencart/zc-v1-series/pull/97%23issuecomment-48985036%22%2C%20%22https%3A//github.com/zencart/zc-v1-series/pull/97%23issuecomment-48985045%22%2C%20%22https%3A//github.com/zencart/zc-v1-series/pull/97%23issuecomment-48985128%22%5D%2C%20%22comments%22%3A%20%7B%22General%20Comment%22%3A%20%7B%22html_url%22%3A%20%22https%3A//github.com/zencart/zc-v1-series/pull/97%23issuecomment-48861020%22%2C%20%22comments%22%3A%20%5B%7B%22body%22%3A%20%22%3A-1%3A%20%5Cr%5CnThis%20PR%20refactors%20all%20kinds%20of%20things%20unrelated%20to%20Aura%2C%20and%20even%20unrelated%20to%20rewriting%20DashboardWidgets%20to%20your%20new%20%60library%60%20folder.%5Cr%5Cn%5Cr%5CnAs%20discussed%20previously%2C%20please%20keep%20your%20commits%20isolated%20to%20their%20purpose.%20%20Wholescale%20rewrites%20of%20unrelated%20code%20or%20changes%20unnecessary%20to%20the%20specific%20topic%20at%20hand%20will%20not%20be%20accepted%20in%20the%20same%20PR.%5Cr%5Cn%5Cr%5Cneg%3A%20your%20style%20preference%20of%20%60defined%28%27IS_ADMIN_FLAG%27%29%20%7C%7C%20die%28%27Illegal%20Access%27%29%3B%60%20instead%20of%20an%20%60if%60%20statement%20is%20only%20a%20style%20preference%20%28sure%2C%20%2Ayou%2A%20might%20call%20it%20an%20optimization%2C%20but%20it%27s%20still%20just%20a%20style%20preference%29.%20Same%20with%20your%20love%20of%20%60__DIR__%60.%20Do%20it%20in%20a%20separate%20PR.%20Don%27t%20clutter%20feature%20changes%20with%20style%20changes.%22%2C%20%22created_at%22%3A%20%222014-07-14T02%3A45%3A46Z%22%2C%20%22user%22%3A%20%7B%22avatar_url%22%3A%20%22https%3A//avatars.githubusercontent.com/u/404472%3F%22%2C%20%22html_url%22%3A%20%22https%3A//github.com/drbyte%22%7D%7D%2C%20%7B%22body%22%3A%20%22I%20don%27t%20like%20big%2C%20messy%20PRs%20either%2C%20but%20there%27s%20not%20much%20extraneous%20here.%20%20It%27s%20all%20related%20to%20reorganizing%20things%20into%20proper%20directories.%20%20There%20are%20more%20little%20changes%20than%20I%20like%2C%20too%2C%20but%20they%20were%20made%20during%20debugging%20to%20help%20me%20understand%20the%20code%20and%20were%20over-looked%20in%20the%20commit.%20%20Please%20indicate%20the%20specific%20changes%20you%20wish%20to%20be%20reverted%20and%20why%20and%20I%27ll%20do%20what%20I%20can%20to%20clean%20things%20up.%22%2C%20%22created_at%22%3A%20%222014-07-14T02%3A51%3A44Z%22%2C%20%22user%22%3A%20%7B%22avatar_url%22%3A%20%22https%3A//avatars.githubusercontent.com/u/1590605%3F%22%2C%20%22html_url%22%3A%20%22https%3A//github.com/texdc%22%7D%7D%2C%20%7B%22body%22%3A%20%22%60defined%28%27FOO%27%29%20%7C%7C%20define%28%27FOO%27%2C%20%27bar%27%29%3B%60%20is%20standard%20syntax%20for%20checking%20constants.%20%20It%27s%20used%20across%20multiple%20projects.%22%2C%20%22created_at%22%3A%20%222014-07-14T02%3A53%3A06Z%22%2C%20%22user%22%3A%20%7B%22avatar_url%22%3A%20%22https%3A//avatars.githubusercontent.com/u/1590605%3F%22%2C%20%22html_url%22%3A%20%22https%3A//github.com/texdc%22%7D%7D%2C%20%7B%22body%22%3A%20%22%3E%60defined%28%27IS_ADMIN_FLAG%27%29%20%7C%7C%20die%28%27Illegal%20Access%27%29%3B%60%5Cr%5Cn%3E%60defined%28%27FOO%27%29%20%7C%7C%20define%28%27FOO%27%2C%20%27bar%27%29%3B%60%20is%20standard%20syntax%20for%20checking%20constants.%20%20It%27s%20used%20across%20multiple%20projects.%5Cr%5Cn%5Cr%5CnAgreed%20that%20it%20is%20standard%20contemporary%20syntax%2C%20even%20in%20non-PHP%20projects.%20But%20%28even%20though%20I%20like%20it%29%20it%27s%20not%20the%20convention%20used%20in%20current%20ZC%20code%2C%20and%20there%27s%20no%20urgency%20to%20refactor%20that%20construct%20at%20this%20time.%20While%20small%2C%20making%20unnecessary%20changes%20like%20that%20to%20core%20files%20complicates%20PRs%20and%20makes%20upgrading%20unnecessarily%20painful%20for%20the%20250%2C000%20live%20stores%20using%20it.%20We%20know%20it%27s%20painful%20for%20the%20code-base%20to%20move%20slowly%2C%20especially%20from%20a%20developer%27s%20point%20of%20view%2C%20but%20we%20have%20to%20respect%20our%20users%20too.%5Cr%5CnWe%20do%20indeed%20look%20forward%20to%20using%20more%20modern%20constructs%20in%20v2%2C%20but%20this%20is%20v160%20code%20we%27re%20working%20with%20here.%22%2C%20%22created_at%22%3A%20%222014-07-14T15%3A44%3A22Z%22%2C%20%22user%22%3A%20%7B%22avatar_url%22%3A%20%22https%3A//avatars.githubusercontent.com/u/404472%3F%22%2C%20%22html_url%22%3A%20%22https%3A//github.com/drbyte%22%7D%7D%2C%20%7B%22body%22%3A%20%22Just%20to%20pr%5Cu00e9cis%20all%20of%20this%20a%20bit%2C%5Cr%5CnThe%20changes%20to%20move%20the%20vendor%20stuff%20out%20to%20the%20%60library%60%20directories%20is%20fine%20by%20me%2C%20should%20have%20been%20that%20way%20in%20the%20first%20place%20%3Ablush%3A%5Cr%5CnThe%20re-factoring%20of%20the%20widgets%2C%20while%20out%20of%20scope%20is%20also%20fine%20by%20me%2C%20and%20also%20makes%20sense%20in%20terms%20of%20name-spacing.%20%5Cr%5CnWhere%20there%20are%20couple%20of%20issues%20are%20in%20the%20application_top%20stuff%5Cr%5CnMy%20main%20issues%20here%20are%20%5Cr%5Cn%2B%20The%20change%20to%20loading%20configure.php%20%26%20local/configure.php%20%5Cr%5Cn%2B%20The%20way%20the%20%24autoloadClassmap%20is%20done.%20Do%20we%20really%20need%20a%20new%20directory%20for%20this.%5Cr%5Cn%5Cr%5CnWould%20like%20to%20see%20this%20PR%20merged%20asap%2C%20%3A%29%22%2C%20%22created_at%22%3A%20%222014-07-14T20%3A45%3A42Z%22%2C%20%22user%22%3A%20%7B%22avatar_url%22%3A%20%22https%3A//avatars.githubusercontent.com/u/227354%3F%22%2C%20%22html_url%22%3A%20%22https%3A//github.com/zcwilt%22%7D%7D%2C%20%7B%22body%22%3A%20%22Given%20that%20you%20have%20had%20a%20lot%20of%20back%20and%20forth%20on%20the%20other%20PR.%20Going%20to%20suggest%20this.%5Cr%5Cn%5Cr%5CnWe%20will%20merge%20this%20PR%20as%20is.%20There%20are%201%20or%202%20issues%20to%20be%20addressed%2C%20especially%20the%20configure.php%20issue%2C%20however%20for%20the%20sake%20of%20not%20having%20another%20long%20back%20and%20forth%2C%20those%20issues%20can%20be%20addressed%20after%20the%20merge.%20%22%2C%20%22created_at%22%3A%20%222014-07-15T02%3A55%3A04Z%22%2C%20%22user%22%3A%20%7B%22avatar_url%22%3A%20%22https%3A//avatars.githubusercontent.com/u/227354%3F%22%2C%20%22html_url%22%3A%20%22https%3A//github.com/zcwilt%22%7D%7D%2C%20%7B%22body%22%3A%20%22%3A%2B1%3A%20%22%2C%20%22created_at%22%3A%20%222014-07-15T02%3A55%3A14Z%22%2C%20%22user%22%3A%20%7B%22avatar_url%22%3A%20%22https%3A//avatars.githubusercontent.com/u/227354%3F%22%2C%20%22html_url%22%3A%20%22https%3A//github.com/zcwilt%22%7D%7D%2C%20%7B%22body%22%3A%20%22%3A%2B1%3A%20%22%2C%20%22created_at%22%3A%20%222014-07-15T02%3A57%3A08Z%22%2C%20%22user%22%3A%20%7B%22avatar_url%22%3A%20%22https%3A//avatars.githubusercontent.com/u/404472%3F%22%2C%20%22html_url%22%3A%20%22https%3A//github.com/drbyte%22%7D%7D%5D%2C%20%22title%22%3A%20%22General%20Comment%22%7D%2C%20%22Pull%2088a174719996d9e98f970b2e572510f9004c58ca%20admin/includes/application_top.php%2022%22%3A%20%7B%22html_url%22%3A%20%22https%3A//github.com/zencart/zc-v1-series/pull/97%23discussion_r14865170%22%2C%20%22comments%22%3A%20%5B%7B%22body%22%3A%20%22Local%20%5C%22configure.php%5C%22%20files%20are%20not%20always%20full%20copies%20of%20the%20real%20%5C%22configure.php%5C%22%20file.%5Cr%5Cn%5Cr%5CnFor%20example%20enabling%20debug%20mode%20for%20authorize.net%20requires%20adding%20only%20one%20additional%20constant.%20With%20the%20original%20code%20one%20could%20add%20this%20single%20line%20of%20code%20to%20the%20local%20%5C%22configure.php%5C%22.%22%2C%20%22created_at%22%3A%20%222014-07-14T05%3A46%3A20Z%22%2C%20%22user%22%3A%20%7B%22avatar_url%22%3A%20%22https%3A//avatars.githubusercontent.com/u/2963958%3F%22%2C%20%22html_url%22%3A%20%22https%3A//github.com/lhungil%22%7D%7D%5D%2C%20%22title%22%3A%20%22File%3A%20admin/includes/application_top.php%3AL56-78%22%7D%7D%7D'></a>
<a href='https://www.codereviewhub.com/'><img src='http://www.codereviewhub.com/site/github-bar.png' height=40></a>
- [ ] <a href='#crh-comment-Pull 88a174719996d9e98f970b2e572510f9004c58ca admin/includes/application_top.php 22'></a> <img src='http://www.codereviewhub.com/site/github-remaining.png' height=16 width=60>&nbsp;<b><a href='https://github.com/zencart/zc-v1-series/pull/97#discussion_r14865170'>File: admin/includes/application_top.php:L56-78</a></b>
- <a href='https://github.com/lhungil'><img border=0 src='https://avatars.githubusercontent.com/u/2963958?size=16' height=16 width=16'></a> Local "configure.php" files are not always full copies of the real "configure.php" file.
For example enabling debug mode for authorize.net requires adding only one additional constant. With the original code one could add this single line of code to the local "configure.php".
- [x] <a href='#crh-comment-General Comment'></a> <img src='http://www.codereviewhub.com/site/github-completed.png' height=16 width=60>&nbsp;<b><a href='https://github.com/zencart/zc-v1-series/pull/97#issuecomment-48861020'>General Comment</a></b>
- <a href='https://github.com/drbyte'><img border=0 src='https://avatars.githubusercontent.com/u/404472?size=16' height=16 width=16'></a> :-1:
This PR refactors all kinds of things unrelated to Aura, and even unrelated to rewriting DashboardWidgets to your new `library` folder.
As discussed previously, please keep your commits isolated to their purpose.  Wholescale rewrites of unrelated code or changes unnecessary to the specific topic at hand will not be accepted in the same PR.
eg: your style preference of `defined('IS_ADMIN_FLAG') || die('Illegal Access');` instead of an `if` statement is only a style preference (sure, *you* might call it an optimization, but it's still just a style preference). Same with your love of `__DIR__`. Do it in a separate PR. Don't clutter feature changes with style changes.
- <a href='https://github.com/texdc'><img border=0 src='https://avatars.githubusercontent.com/u/1590605?size=16' height=16 width=16'></a> I don't like big, messy PRs either, but there's not much extraneous here.  It's all related to reorganizing things into proper directories.  There are more little changes than I like, too, but they were made during debugging to help me understand the code and were over-looked in the commit.  Please indicate the specific changes you wish to be reverted and why and I'll do what I can to clean things up.
- <a href='https://github.com/texdc'><img border=0 src='https://avatars.githubusercontent.com/u/1590605?size=16' height=16 width=16'></a> `defined('FOO') || define('FOO', 'bar');` is standard syntax for checking constants.  It's used across multiple projects.
- <a href='https://github.com/drbyte'><img border=0 src='https://avatars.githubusercontent.com/u/404472?size=16' height=16 width=16'></a> >`defined('IS_ADMIN_FLAG') || die('Illegal Access');`
>`defined('FOO') || define('FOO', 'bar');` is standard syntax for checking constants.  It's used across multiple projects.
Agreed that it is standard contemporary syntax, even in non-PHP projects. But (even though I like it) it's not the convention used in current ZC code, and there's no urgency to refactor that construct at this time. While small, making unnecessary changes like that to core files complicates PRs and makes upgrading unnecessarily painful for the 250,000 live stores using it. We know it's painful for the code-base to move slowly, especially from a developer's point of view, but we have to respect our users too.
We do indeed look forward to using more modern constructs in v2, but this is v160 code we're working with here.
- <a href='https://github.com/zcwilt'><img border=0 src='https://avatars.githubusercontent.com/u/227354?size=16' height=16 width=16'></a> Just to précis all of this a bit,
The changes to move the vendor stuff out to the `library` directories is fine by me, should have been that way in the first place :blush:
The re-factoring of the widgets, while out of scope is also fine by me, and also makes sense in terms of name-spacing.
Where there are couple of issues are in the application_top stuff
My main issues here are
+ The change to loading configure.php & local/configure.php
+ The way the $autoloadClassmap is done. Do we really need a new directory for this.
Would like to see this PR merged asap, :)
- <a href='https://github.com/zcwilt'><img border=0 src='https://avatars.githubusercontent.com/u/227354?size=16' height=16 width=16'></a> Given that you have had a lot of back and forth on the other PR. Going to suggest this.
We will merge this PR as is. There are 1 or 2 issues to be addressed, especially the configure.php issue, however for the sake of not having another long back and forth, those issues can be addressed after the merge.


<a href='https://www.codereviewhub.com/zencart/zc-v1-series/pull/97?mark_as_completed=1'><img src='http://www.codereviewhub.com/site/github-mark-as-completed.png' height=26></a>&nbsp;<a href='https://www.codereviewhub.com/zencart/zc-v1-series/pull/97?approve=1'><img src='http://www.codereviewhub.com/site/github-approve.png' height=26></a>&nbsp;<a href='https://github.com/zencart/zc-v1-series/pull/97'><img src='http://www.codereviewhub.com/site/github-refresh.png' height=26></a>
<a href='#crh-end'></a>