Merge pull request #304 from enyojs/master

Merging for "pilot-2" release.
GF-6936: Initial implementation of on-device source handling.
Enyo-DCO-1.1-Signed-off-by: Kevin Schaaf <kevin.schaaf@lge.com>
Adding Audio kind and sample to enyo

It appears samples/packages.js was previously committed with Windows
line breaks. I've converted them, thus the apparent change on all lines.

Enyo-DCO-1.1-Signed-off-by: Jeremy Thomas <jeremy.thomas@lge.com>
Restructuring conditional

Enyo-DCO-1.1-Signed-off-by: Jeremy Thomas <jeremy.thomas@lge.com>
GF-6936: Second pass at on-device source handling.
Enyo-DCO-1.1-Signed-off-by: Kevin Schaaf <kevin.schaaf@lge.com>
GF-6936: Remove automatic package aliasing (unused feature and consensus is it seems conceptually flawed).
Enyo-DCO-1.1-Signed-off-by: Kevin Schaaf <kevin.schaaf@lge.com>
GF-6936: Fix comments to print relative paths, so build machine paths aren't in minified file.
Enyo-DCO-1.1-Signed-off-by: Kevin Schaaf <kevin.schaaf@lge.com>
GF-6936: Update unit tests: DecodePackageTest no longer tests for package alias, as that has been excised.  Added PathResolverTest for rewriting complex path prefixes (rather than just tokens).
Enyo-DCO-1.1-Signed-off-by: Kevin Schaaf <kevin.schaaf@lge.com>
Changing enyo.Audio to extend from enyo.Media

Enyo-DCO-1.1-Signed-off-by: Jeremy Thomas <jeremy.thomas@lge.com>
Updating Audio sample

Enyo-DCO-1.1-Signed-off-by: Jeremy Thomas <jeremy.thomas@lge.com>
Remove enyo.execUnsafeFunction, instead do runtime check once and short but for common non-IE cases. Idea suggested by Roy Sutton.
Remove msapp checks from enyo.machine.script/sheet because we don't support MSApp's with load-time script loading, only minified versions. Better to error out with a security failure here than to load things in wrong order.

Enyo-DCO-1.1-Signed-Off-By: Ben Combee (ben.combee@lge.com)
Turn off jshint evil after used in enyo.js

Enyo-DCO-1.1-Signed-Off-By: Ben Combee (ben.combee@lge.com)
Modify OOP system to delay most of the work for enyo.kind() until the kind is used for the first time. This deferral only happens if the kind has no static members, it has a name, and it doesn't have a truthy "noDefer" property.
Set enyo.Object, enyo.Component, and enyo.Control to noDefer since code runs at startup time to modify those kinds after definition.

Enyo-DCO-1.1-Signed-Off-By: Ben Combee (ben.combee@lge.com)
Rename enyo.kindFinish to enyo.kind.finish to avoid cluttering enyo namespace
Clear "inProps" when done with enyo.kind.finish() call to release memory from closure
Use enyo.delegate instead of Object.create for older browser support
Rename enyo.delegate's argument to be clearer

Enyo-DCO-1.1-Signed-Off-By: Ben Combee (ben.combee@lge.com)
Move some statics definitions into a new "protectedStatics" list that won't trigger immediately enyo.kind creation but will allow deferral.

Enyo-DCO-1.1-Signed-Off-By: Ben Combee (ben.combee@lge.com)
Quote kind names in kind configuration objects to avoid holding onto early constructors from enyo.kind deferral

Enyo-DCO-1.1-Signed-Off-By: Ben Combee (ben.combee@lge.com)
GF-6936: Add support for redirecting lib back to the app folder when enyoDir is specified elsewhere.
Enyo-DCO-1.1-Signed-off-by: Kevin Schaaf <kevin.schaaf@lge.com>
GF-6936: Fix boolean logic.  Update usage.
Enyo-DCO-1.1-Signed-off-by: Kevin Schaaf <kevin.schaaf@lge.com>
GF-6936: Fix JSHint issues.
Enyo-DCO-1.1-Signed-off-by: Kevin Schaaf <kevin.schaaf@lge.com>
JSHint cleanup

Enyo-DCO-1.1-Signed-Off-By: Ben Combee (ben.combee@lge.com)