Fix compile error on MSVC-10 and 11 due to no variadic templates.

  see http://thread.gmane.org/gmane.comp.lib.boost.devel/255086

Signed-off-by: Kohei Takahashi <flast@flast.jp>
Merge pull request #29 from Flast/bugfix/msvc-10.0

Fix compile error on MSVC-10 and 11 due to no variadic templates.
Use boost::declval instead of std::declval, close #10190.

Thanks-to: Niklas Angare