Fix hasNext On ResultSetIterator For Empty ResultSets

!isLast will return true for empty result sets as well which will lead to next() being called and throwing an IllegalStateException... Added in a check against isBeforeFirst which will return false for empty result sets.