Allow user to define own time period in wait condition

We can add a new constructor to AbstractWait such as

public AbstractWait(WaitCondition condition, long timeout)