perlexperiment mentions features a lot, refer to the feature module

(cherry picked from commit 2b0121e1c44b6ec834f3c55c427ef006b57c7fff)
use setenv() on Solaris

(cherry picked from commit 07ad9e0e19891ec129e1a78e40a66ca19b51302d)
Vladimir Marek is now a perl author

(cherry picked from commit bef255a1667a8a05be344c7274d2d9c855493c6d)
Only use setenv() on Solaris if it is available.

This is a followup to 07ad9e0e19891ec129e1a78e40a66ca19b51302d.
util.c:Perl_my_setenv() unconditionally used setenv() if #defined(__sun).
Solaris 8 had neither setenv() nor unsetenv(), so it failed.  Configure
does not currently check for setenv(), but the check for unsetenv()
is sufficient here since Solaris 9 and later have both.

(cherry picked from commit 235c1d5fb08d2f9bf82de88220390de5210ac392)
Makefile.SH: Fix cross builds with -Uhostgenerate

(cherry picked from commit 329865d81730328189992f6157dd4605d5c23f8e)
Makefile.SH: Add missing files for make test on cross builds

(cherry picked from commit ef4ead6db594965224805417f6959ee430d5c928)
t/op/taint.t: Accommodate for systems without an inbuilt echo (android, blackberry)

(cherry picked from commit 22636a294deeffb346cc852d77d2b3b68a7615c9)
Configure: Discard errors when testing for less -R

When we try replacing 'less' with 'less -R', it's possible
that less will output errors if the option is not supported;
this happens, for example, in busybox's less.

(cherry picked from commit a872f748481d44baa8bc0f6eb29659782c96ba7f)
Configure: Handle hyphens when searching cpp symbols

This is really just for Android, which in Configure is
known as linux-android; the hyphen is passes as-is to
the preprocessor, which handles it as a minus.

So don't do that.

(cherry picked from commit ecd78e215c9b4ab3f3ab71b30e76bbead372a84e)
Simplify cppsym dash problem

(cherry picked from commit 47ef2f80a353917e46d5ef248320c351162a97b2)
Make PERL_GLOBAL_STRUCT_PRIVATE visible in -V.

(cherry picked from commit 59dba841c4c022b197056ed7c78ea7d9e7fbb467)