more accurate impl of DataFrame::nrows. closes #112