Support more than 64 parallel jobs (-j).

Windows WaitForMultipleObjects() can wait on max. 64 handles. This limitation is overcome by splitting the handle set into parts which are of adequate size, and spawning a thread which does the waiting.
Avoid creating a thread if remaining jobs can be placed in the same array as thread handles.

If we have to wait for, e.g. 65 jobs, first we create a thread which waits for first 63.
The remaining two can be waited on by the same WFMO call which waits for thread
completion. This will avoid creating 2 threads in this case.
Adding a new feature to help support building for the Windows Runtime (Windows store/phone).
1. Adds a new feature <windows-api> for specifying the WINAPI_FAMILY API set to target. Defaults to desktop, which is how builds before my changes.
2. A few small changes for adding ARM support.
3. Changes to call to correct vcvars setup script for Windows Phone 8.
Removing use of testing.execute feature until it gets added in separate pull request.
Updating to include support for Windows Phone 8.1.
add support for MSVC setup script rewrite

MSVC setup scripts are very slow, so should not be used in build actions directly.
Rewrite these scripts into their fast equivalents and use those instead.
Add toolset initialization option <rewrite-setup-script> to customize/disable this new behavior.
Merge pull request #16 from jivancic/slow_msvc_setup_scripts_2

add support for MSVC setup script rewrite
Merge pull request #5 from jivancic/more_than_64_jobs

[b2] support more than 64 parallel jobs (-j)
Add a clang for Windows jam file for use with clang when the target is msvc.
Merge branch 'develop' of https://github.com/boostorg/build into develop
Added version of common.jam to be used for clang in VC++ target mode. This is just a current example of changes which work when using clang in VC++ target mode in Windows, and should eventually be integrated into common.jam when we figure out how to support clang for both VC++ target mode and mingw/gcc target mode on Windows.
This file is essentially clang-linux.jam with changes for clang on Windows in gcc/mingw target mode, which should also use clang-linux.jam. The changes are simply that multithreading should use the -pthread option rather than the -mthreads option on Windows. I could have directly updated clang-linux.jam, since the change only affects clang targeted to Windows but I am being conservative and showing the change in this file for others to look at first.
Addressing feedback from review:
1. Fixing up a bit how the phone setup script location is calculated.
2. Reusing generate-setup-cmd rule in configure-really to avoid duplication and make cleaner.
3. Adding some more comments explaining.
Support building for the Windows Runtime.

This merges https://github.com/boostorg/build/pull/14.
Fixing build break with Visual Studio if phone scripts aren't installed with VS 2012 or 2013.
Merge pull request #18 from MSOpenTech/dev12_phone81_fix

Fixing build break with Visual Studio if phone scripts aren't installed with VS 2012/2013
Updated to make the setup threading more robust.
Merge branch 'develop' of https://github.com/boostorg/build into develop
Handle explicit empty value for property-map.find-replace.

I needed this to make

    type.change-generated-target-prefix
	SHARED_LIB : <toolset>gcc <target-os>windows : "" ;

work.
Changes for clang on Windows using mingw/gcc