Allow to conditionally disable static context constructors

If macro VEXCL_NO_STATIC_CONTEXT_CONSTRUCTORS is defined, then all
constructors that depend on vex::current_context() are disabled.

references libantioch/antioch#7, libantioch/antioch#8
Facilitate creation of static reductors

closes #48
Removed unused code
Reduction of vector_view/multi_array along given dimensions

refs #47

Functions vex::reduce<OP>(vector_view, dimensions),
vex::reduce<OP>(multi_array, dimensions) return vector expressions of
correspondingly reduced size.

See changes in tests/vector_view.cpp, tests/multi_array.cpp for usage
examples.
Fixed 'missing braces' warning in tests/vector_view.cpp
Apple clang 3.1 using libc++ needs <numeric> for std::accumulate.
Merge pull request #49 from pbauman/fft_accumulate

Apple clang 3.1 using libc++ needs <numeric> for std::accumulate.
Dropped unnecessary use clauses from unit tests
Fixed Visual Studio warnings
GPU-SMP-2013 talk
Specify place for GPU-SMP-2013
Updated comment on example for combining expressions
Bring helper template specifications to more logical order
Add 'tags' to .gitignore
Changed the way kernel parameters are named

Send parameter name to functions that form
preamble/parameter declaration/expression
instead of component index and position.

This will allow to introduce recursive terminals
(terminals holding nested expressions), e.g.
vex::temporary from #50.
Provide optional prefix for kernel parameter names

refs #50
Send actual terminal to terminal processing functions

refs #50
Minor optimization of tagged_terminal code
Merge function declaration with preamble construction

refs #50
WIP: Unit test for temporary values

Is not working correctly yet. Needs temporary declaration step (local
preamble?)

refs #50