Add unit tests for InternalFunction

As requested, a few unit tests.

The tests that require c++11 functionality have been split into separate modules; they will only execute when PKG_CXXFLAGS contains -std=c++1[1-9]. AFAIK, all current compilers require this flag to enable c++11 functionality, so for now that's a good approximation. It's better to skip this test than to have it fail due to compiler shortcomings.

I've hidden both behind the runAllTests-flag, because I don't know the requirements for default tests. Feel free to remove them if they aren't needed.

I've tested
`PKG_CXXFLAGS="-std=c++11" r ./runTests.R --output=/tmp --allTests`
Rcpp unit testing - 444 test functions, 0 errors, 0 failures

`PKG_CXXFLAGS="" r ./runTests.R --output=/tmp --allTests`
Rcpp unit testing - 442 test functions, 0 errors, 0 failures

(btw, the --local switch in runTests.R is a lie. While it will take R scripts from the local directory, cpp sources are still taken from the installed package directory. Makes for some fun debugging if you don't know.)
The unit test needs to decide whether C++11 is supported *before* compiling and testing the C++ code where RCPP_USE_STD_FUNCTION gets defined, so we cannot use that macro.

On a related note, I keep thinking we should remove that macro again. I suggested it because there are c++11 compatible compilers without a compatible stdlib (i.e. recent intel or clang linking against an older libstd++). But even those compilers will only claim c++11 support if the user has specified -std=c++11 on the command line, and it's the user's fault if he does that without having a proper compiler and stdlib.


In short, if the user wants c++11 support, they should state it by providing the -std=c++11 flag somewhere. We read that either from PKG_CXXFLAGS in R code or from the __cplusplus >= 201103 macro in C.

The existing feature detections for compilers that support parts of c++11, but not all of it, is useful - or was useful back when it was called c++0x. But now that recent versions of all supported compilers support c++11 and even c++14, I don't think we should bother with any further partial feature detection and user-provided #define's, instead we should have a single flag for *full* support and use that for any future features that require it. And that flag is -std=c++11 in the compiler arguments.

Thoughts?