Separating out node selection algorithm
Moving test to functional tests and adding request_time to send to plugin