Provided Basic Support for -l N option on windows platform.

I have implemented basic support for **-l N** on windows platform.

Tested with platform==msvc and platform==mingw.

Values returned from OS are filtered with basic filter, to minimize load variation caused by short time between consecutive calls.

I have tested it on 2 core machine with HT and 4 core one, and CPU load in Task Manager matches one provided in -l option.

Any suggestion and improvements are more than welcome.


It probably should not be smoothed unconditionally...

Unfortunately, as` GetLoadAverage()` is called quite often during typical C++ build, calculated load has significant variance (for example call with -l0.5 caused processor load to jump between 0.1 to 0.9).

I think using `total_ticks` to average over more predictable amount of time  would be best, but it would take more code.

W we cannot sample system load at regular intervals as for example (if i understand code correctly) linux kernel does (http://lxr.free-electrons.com/source/kernel/sched/proc.c#L79).

Maybe we can:

* ignore calls (return previous_load) when total_ticks is smaller than (for example) 1s,
* filter some approximation form not ignored samples taken within last 10 seconds,
* use `load_since_last_call` without filtering if `total_ticks` changed more than 10s since last call?

It guess it would work for me, and be usefull even with much loiner jobs.