Cross-Origin Resource Sharing initial support

Initial support for the Cross-Origin Resource Sharing specification.
This allows JavaScript to make requests across domain boundaries.

Also reviewed the filter example to get rid of the context and
the generic classes (we can actually use {WSF_REQUEST}.execution_variable
and {WSF_REQUEST}.set_execution_variable).

Links:
* How to enable server-side: http://enable-cors.org/server.html
* Specification: http://www.w3.org/TR/cors/
* Github: http://developer.github.com/v3/#cross-origin-resource-sharing
CORS: respect specification regarding Access-Control-Allow-Headers

According to the specification, the value of the response header
Access-Control-Allow-Headers must contain at least all the values of the
request header Access-Control-Request-Headers to be considered a valid request.
Before this commit, only the Authorization value was present, which is enough
for Firefox but not for Chrome.
This should now work as expected.
Use the advanced SED storable to store data on disk (rather than the runtime storable)
better have hash table indexed by STRING_32 rather than READABLE_STRING_32 for now
Added user friendly function to get returned openid attributes
Added `WSF_REQUEST.table_item' to help user get table item with flat name.
i.e instead of having  item ("foo").item ("bar"), you can do  table_item ("foo[bar]")
Added support for OpenID identity
Added user roles management
Improvement CMS_HOOK_FORM_ALTER design.
Factorized code into CMS_WIDGET_COMPOSITE
Use general notion of CMS_WIDGET (and CMS_FORM allows CMS_WIDGET, and not just CMS_FORM_ITEM)
Fixed various CMS_WIDGET traversal, and fixed related issue for CMS forms
Fixed CMS_FORM_CHECKBOX_INPUT when no value was set.
Added CMS_FORM_DATA.cached_value .. to pass computed values during validation to submit actions (mainly for optimization)
Added support for @include=filename  in CMS_CONFIGURATION
Added CMS_WIDGET_TABLE as filled version of CMS_WIDGET_AGENT_TABLE (renamed from previous CMS_WIDGET_TABLE)
Many improvements to the CMS_FORM design
Some improvements to CMS_MODULE
...
Fixed CMS_HTML_FILTER which was buggy and was including the last processed tag even if it was excluded.
adding back missing uri template library
Factorized code for checkbox and radio input.
Renamed `text' and similar to `title' and similar
Made it compilable with 7.1
Enhanced HTTP_HEADER with new helper features.
Implemented more user friendly WSF_RESPONSE
i.e allow to change the status code and the header as long as no content is really sent back to the client

This requires an addition WGI_RESPONSE, new post_commit_action: PROCEDURE [...]
Added non-Void contracts for classes previously flagged by AutoTest
Response to comments from review "Contracts for non-Void-safe users (take 1)"
used across for assertion
Merge pull request #40 from colin-adams/master

Contracts for non-Void-safe users (take 1)
Further contracts for non-Void-safe users
Merge branch 'master' of github.com:EiffelWebFramework/EWF
Corrected header comment in response to code review of pull-request