Added max(x,y) and abs(x) for vexcl vectors
Merge pull request #43 from roystgnr/new_functions

Added max(x,y) and abs(x) for vexcl vectors
Adding min() for completeness

refs #43
Adding vex::ternary(cond, expr1, expr2) function

Accepts arbitrary vector expressions for any of the three arguments.
Evaluates to ternary operator (cond ? expr1 : expr2) inside kernel
source.

closes #44
Use correct check_sample in tests/vector_arithmetic
Removed vex::ternary() (replaced by boost::proto::if_else)

Boost.Proto (as well as Boost.Phoenix) already provides if_else()
function with the same semantics.

refs #44
Marks vector move constructor as noexcept

This allows stl containers to use move instead of copy and makes
allocated OpenCL buffers persistent.

Also added move constructor (and the corresponding test) to multivector.

(Finally!) closes #25
Some more code uglification to make MSVC++ work

As stated on [msdn.microsoft.com](http://msdn.microsoft.com/en-us/library/wfa0edys.aspx),

> In C++0x, the noexcept operator is introduced, but support for this
> feature is not yet present in Visual C++ as of Visual Studio 2012.
Use component-wise swap inside multivector move constructor

Makes VS2010 happy
Fixing signed/unsigned mismatch
Supress unknown pragma warning when openmp is not available
Replace boost::remove_reference/remove_const with std::decay
Minimize Boost dependencies

* Use standard library components where available
Removed Boost.thread from DEPENDS.md

[skip ci]
Reverting switch from boost::tuple to std::tuple in 675f8b0cdc

boost/fusion/adapted/std_tuple.hpp uses variadic templates which are
unavailable in Visual Studio 2010.
Adding vex::extents helper object for slicer generation

vex::extents is very similar to boost::multi_array::extents. It helps to
specify dimensions for the slicer object:

    vex::slicer<2> slice(vex::extents[n1][n2]);

refs #31
Explicitly provide copy constructor for vector_view

This allows to assign vector_view to a vector_view.
vex::range constructing from a size_t
Slicer simplified
Added index_gen struct (similar to boost::multi_array::index_gen)