VS2010 does not support initialization lists
Merging alignup and int_ceil functions

These were doing same thing. Quick test showed int_ceil to be more
effective, so the new alignup uses int_ceil's impementation now.
Major overhaul of multivector expressions

* Multivectors and vectors now use same procedures for kernels
  generation and launching.
* Assignment of a multiexpression or a tuple of vector expressions to a
  multivector is now served by same method.
* Compound assignments to multivectors should be more effective.

refs #37
Removing unused code
fix bugs in fft_benchmark
clang complains about dependent template
Tagged terminal skeleton

This is unfortunately impossible to implement right now,
but the idea is nice enough to keep it in a separate branch.
Partially working terminal tagging

Each proto context participating in kernel generation carries around generic
state (std::map<std::string, boost::any>) that may be used by some of kernel
generation functions.

refs #39
Terminal tagging works for all kinds of terminals

refs #39
Restricting terminal tagging to terminals
typo
Tagged terminals section in README
typo
Fixed bug in multivector expression assignment
Using taged terminals in combined expressions
Factor out stopwatch class from profiler.
For standalone use, direct access to individual times.
Use program_options in fft_benchmark,
More comfortable than editing the source.
Uses stopwatch for median times, less jitter.
Making vex::profiler a template

Current implementation of vex::stopwatch may have high overheads e.g.
when profiling is performed in a loop. This commit makes it possible to
choose between median and mean averaging.

Another change is that it is possible to select
std::chrono::high_resolution_clock instead of default
boost::chrono::high_resolution_clock.

Default behavior of profiler is left intact.
Fixing compilation error with gcc-4.6
Making git ignore build*