Changed Builder::where logic. The internal logic does not use func_num_args() anymore and bases itself only on the given parameters.

There were a couple of issues related to the use of func_num_args() which would not return 2 if called from orWhere (as it was implicitly expected). Thus calling ->orWhere('someKey', null) would not work properly.

Note: Calling Builder::where with only 2 parameters where the second value is $variable may have unexpected results. Use only with static values.