Use auto instead of std::function<> for functions.

This has the following effects:
 - Shorter, more concise generated code.
 - Must use std::tuple instead of std::array for equelle Arrays.
 - Changes to NewtonSolveSystem().

This is an anticipatory change, preparing for using generic lambdas.
Use generic lambdas for functions.

This requires a C++14 feature, and has been tested only with clang.
Acceptable compilers that should be able to handle it include:
 - GCC 4.9
 - Clang 3.4
 - MS Visual C++ November 2013 CPT
Minor output adjustment.
Make compiler use C++14 for examples.

Option used is -std=c++1y for maximum compatibility (clang 3.4).
Update examples to match current compiler output.
Add CheckASTVisitor and use from compiler.

Class does not do anything so far.
Changed order of methods.
Disabled some uses of SymbolTable.

Removed from accept() and parse actions.
Also added CollectionTypeNode, for deferred type inference.
Remove all use of symbol table from ParseActions.cpp.
Work in progress on CheckASTVisitor.
Work in progress on CheckASTVisitor.
Refine input type of Centroid() builtin.

It now accepts any collection, which is too wide, but there
is no way to specify 'Entities' as a group in the current SymbolTable
implementation.
Make collection type nodes work.
Update Equelle printing visitor.
Make FuncTypeNode work properly.
Function declarations and definitions are working.
Refine output type of some Input...() functions.
Add SymbolTable::entitySetIndex().
Add FuncCallNode::setDynamicSubsetReturn().
Set dynamic subset return of FuncCallNodes in CheckASTVisitor.