Fix hasNext On ResultSetIterator For Empty ResultSets

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