feat #468 page engine

Contains all source code + tests related to page engine feature.
Closes #468
feat #459 Set headers through RequestHandler

This feature allows users to set headers through RequestHandler class.

Close #459 Close #466
feat #475 Addition of template tests to the page engine test suite

Closes #475
feat #476 Show templates in npm start

Add a feature to npm start to display any template available in the project.
This should help development or debugging of templates

Close #476
fix #477 Template not disposed on page navigation

When navigating from one page to another without animations, templates were not disposed.
feat #440 autocomplete selection multiple keys

Developer should be able to define multiple keys that can be used to
perform selection in an auto-complete widget. Currently ENTER key is used
for this functionality. On the other hand, if the user does not want
selection upon pressing enter, he should be able to do so.

Close #440
fix #436 content-type header for asyncFormSubmit

A condition is added if enctype is defined in the form the content-type
header will be set.

Close #443
feat #473 Google Map 3 provider

This features adds Google Map 3 as a provider for the map widget.

Closes #473
feat #445 leading tabs detection in the code

This is a refactor commit, formatting test files that were not
formatted at all, or had some lines unformatted.

Additionally, a grunt task is added to prevent checking in unformatted
files in the future.

Close #445.