added takeWhile and takeWhile_i linq functions

added new LinqObj methods: takeWhile and takeWhile_i with dedicated for
them tests included in TakeWhileRange.cpp