feat #1235 Add grunt tasks to ease packaging

This commit introduces
- a grunt multi-task (`atbuild`) that allows to simply re-package aria templates source code. It is also used internally for the production build of the framework.
- a grunt multi-task (`easypackage`) that allows to create packages for an aria templates-based application. It simplifies the configuration that is generally needed in order to achieve this goal by exposing a simple API to the developer.

These tasks are now available in any project including the framework. The necessary files are published to npm along with the framework and there is no need to explicitly add atpackager or noder-js as dependencies in order to execute them.

Close #1235
feat #1253 Correct interpretation of dates with localized months

Localized months were not recognized as valid inputs of the `aria.utils.Date.interpret` method.
This means that whenever the user selected a date in a DatePicker with output pattern containing "MMM" or "MMMM" (meaning with the localized short or full month), and then just changing, for example, the year, the entry could not be recognized.

This commit adds this feature. Also, the special case 04DEC/+13 now supports localized dates and the presence of spaces between day, month and year.

Close #1253
fix #1255 fixing path to the Java Robot applet

This commit fixes the regular expression which was used
to detect absolute URLs. URLs starting with a slash are
now considered absolute, they are not relative to the
<base> tag.
fix #1256 Inhibit leading indentation check on output mocha test files

This commit inhibits the leading indentation check on some files that are the output of some mocha tests.
fix #1257 Wrong order of dayShort in Japanese

close #1258
Feat #1254 Enforce Tooltip dimensions configuration
doc `contentTypeHeader` was removed in 1.6.1

Close #1259
fix #1260 Test launcher fixes and improvements

This commit includes the following changes:
- it fixes an issue with the form used by the launcher to request the
test classpath (the URL did not include the version number parameter
when using dev files).
- it adds the ability to change the isAmaBuild flag from the URL
(by using - or . in the second part of the version number).
- it extends the pattern of isAmaBuild URLs to include any path which
follows the /aria-templates-something pattern (instead of only
/aria-templates-dave and /aria-templates-dev).
- it adds the Aria Templates version number on the test page
feat #1261 Classic Test Runner branding

Related to attester/attester#66

Close #1261
1.6.4
refactor at-noder-converter on all src/aria/**/*.js files

This commit only contains the result of the execution of at-noder-converter
on all src/aria/**/*.js files (except skin files).

For this purpose, the following grunt file was used:

module.exports = function (grunt) {
    grunt.loadNpmTasks('atpackager');
    require('atpackager').loadNpmPlugin('at-noder-converter');
    grunt.initConfig({
        atpackager : {
            options : {
                sourceDirectories : ['.'],
                outputDirectory : '.',
                visitors : ['ATNoderConverter', {
                            type : 'CopyUnpackaged',
                            cfg : {
                                files : ['**/*'],
                                builder : {
                                    type : 'Concat'
                                }
                            }
                        }],
                packages : []
            },
            src : {
                options : {
                    sourceFiles : ['src/aria/**/*.js', '!src/aria/css/*.js']
                }
            }
        }
    });
    grunt.registerTask('default', ['atpackager:src']);
};
feat #1272 removes at-noder-converter from the build

This commit removes the at-noder-converter visitor from the build of
Aria Templates (as source files in the repository are now using the
new syntax).

This commit also changes the configuration of jshint to detect code
which would still use the old syntax (in case of future merges).
For this purpose, it makes sure the Aria global variable is no longer
used (except in resource definitions and skins where it is not possible
to use require to get the equivalent object).

close #1272
fix #1275 npm test run twice raised errors

due to jslint validation for \test\nodeTestResources\testProject\target.
This folder has been excluded.
setting npm version after npm update
feat #1273 Removing the need for a build step after changing files

Before the migration to noder-js, it was possible to run Aria Templates
directly from its src folder.

With the migration to noder-js, this was not possible any more for two
reasons:

1) files in the src folder were using the old syntax (with $dependencies)
and were converted at build time to the new syntax (with require)

-> now, starting with commit b0ae188305c0fa16fe7d458803580da551a1cb94,
files in the repository are using the new syntax and it is no longer
needed to convert them at build time.

2) the entry point file of Aria Templates needs to be generated (as it
is built on top of noder-js, overriding one of its modules) and was
generated in the build/target/bootstrap folder.

-> this commit is changing the location where the entry point file is
generated. It is now generated in the src foilder so that it is possible
to fully execute Aria Templates directly from its src folder.

The generation of files in the src folder is now part of the full build
and can also be run independently with: grunt src

The following files are generated in the src folder:
src/aria/bootstrap.js
src/aria/bootstrap-node.js
src/aria/noderError/*.js

After running "grunt src", it is possible to use the src folder directly
to serve the Aria Templates files, and then changing most of the framework
files can be done without requiring a build step. Running again "grunt src"
is needed after changing noder-js itself or files in the src/noder-modules
folder.

Close #1273
fix #1277 Misleading error when skin is not available

The error message informing about the absence of a skin suggests that a css and a js files are needed. This is no longer the case.
feat #1237 clickbuster implementation

a new touch event has been created (safetap) in order to handle the tap gesture without any side effects due to the ghost click, generated by the browsers in mobile devices.
If a mousedown, click or touchend event is detected after a safetap on the same area, it is ignored since considered as a ghost click: preventDefault() and stopPropagation() are called.
In this way, if the DOM changes after the safetap event is handled, the browser's ghost click will not have effects.

reference:
http://ariatemplates.com/blog/2014/05/ghost-clicks-in-mobile-browsers/

close #1237
fix #946 'data' must be set explicitly to null when using a module controller inside a TemplateTestCase
close #1284
feat #1280: Selenium Java Robot layer

This commit contains a new implementation of the aria.jsunit.IRobot
interface to use the Selenium Java Robot.

The Selenium Java Robot tool is available here:
https://github.com/ariatemplates/selenium-java-robot

If the browser was launched with the Selenium Java Robot tool, it will
be detected automatically by the aria.jsunit.Robot class and the
corresponding implementation of the interface will be used.

close #1280
fix #1281 fixing random test failures with Slider and DoubleSlider

This commit makes aria.utils.dragdrop.Drag a static dependency of
the Slider and DoubleSlider widgets. It does not make sense to have
it as a dynamic dependency, as it is always needed, as soon as those
widgets are used. Moreover, using a dynamic dependency makes their test
fail randomly, as the dependency may not have been completely loaded
when the test starts, leading to errors.