explore static observer
added filter and range observables
adds subscribe overloads to simplify the test
add support for operator >> usage.
move the observable base to a member
static assert that the filter predicate is ok
builds on clang
modified furuholm's helpful changes for clang

I did not want the private typedefs to hide the public ones in root.
The compiler needed a dependent name so I gave it a typedefs for
this_type and base_type where needed and used those to make the
inherited typedef references dependent name lookups. I have found that
using fixed names like this_type and base_type make it easier to move
and copy code around.
refactor into multiple headers
add rxcppv2_test target
add current_thread scheduler
fix clang build
add notification types
share one subscription instance for the whole chain
clang fixes
add vitual_time scheduler
fixes for clang
added testscheduler and filter tests using it

some tests are failing due to subscription lifetime issues.
there, now the filter tests pass
clang fixes