Issue title: 上拉到底部,加载更多的时候,快速往上划一下,有时会触发两次onLoadNextPage,导致数据重复
 Issue body: 可能是我没用对,也可能确有bug
目前暂时解决办法是在EndlessRecyclerOnScrollListener中的onScrollStateChanged()方法中进行判断;
如果距上次触发onScrollStateChanged()时间不到1秒就直接return.
不知道有没有更好的解决办法
我用的不是最新版,由于我目前是直接改了EndlessRecyclerOnScrollListener, 并没有直接换最新.
不知道最新版还有没有这个问题

另外,
有时候划动到底部已经没有更多数据,但footer仍然是loading状态,  需要稍微下拉再上划才变成end状态
 Comments: 
 Comment 0: > 谢谢反馈哈

### 重复加载问题
EndlessRecyclerOnScrollListener这个类改掉了，你看下有没有加载中的判断。

不知道什么时候的版本，现在如果加载中，直接忽略。
增加了方法：mRefreshRecyclerView.loadMoreComplete();

```
// LinearLayoutWithRecyclerOnScrollListener.java
    @Override
    public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
        super.onScrolled(recyclerView, dx, dy);
        if (!isLoading()) {
            visibleItemCount = recyclerView.getChildCount();
            totalItemCount = mLinearLayoutManager.getItemCount();
            firstVisibleItem = mLinearLayoutManager.findFirstVisibleItemPosition();

            //totalItemCount > visibleItemCount load more
            if (loadMoreEnable && !loading && totalItemCount > visibleItemCount && (totalItemCount - visibleItemCount) <= (firstVisibleItem + visibleThreshold)) {
                // End has been reached
                loading = true;
                pagination++;
                onLoadMore(pagination, pageSize);
            }
        }
    }
```
### footer仍然是loading状态
每次数据加载完成后(不管成功、失败)，需要mRefreshRecyclerView.hideFooterView();
```
        public void onSuccess(S result) {
            if (result == null || (result instanceof List && ((List)result).size() == 0)) {
                if (isDataEmpty()) {
                    showDataEmptyView();
                } else {
                    showNoMoreDataView();
                    mRefreshRecyclerView.disableLoadMore();
                }
            } else {
                if (isRefresh) {
                    onRefreshDataSuccess(result);
                } else {
                    onLoadMoreDataSuccess(result);
                }
                hideLoadMoreView();
                currPage++;
            }
        }

        @Override
        public void onAfter() {
            if(isRefresh){
                hideRefreshView();
            }
            mRefreshRecyclerView.loadMoreComplete();
            if(!isDataEmpty()){
                hideDataEmptyView();
            }
        }
```

这些状态的切换是很麻烦，等几天把我的二次封装放上来。
 Comment 1: ###可以参考：
[BaseRecyclerActivity](https://github.com/captain-miao/RecyclerViewUtils/blob/master/app/src/main/java/com/github/learn/base/BaseRecyclerActivity.java)
[RefreshRecyclerActivity](https://github.com/captain-miao/RecyclerViewUtils/blob/master/app/src/main/java/com/github/learn/refreshandload/RefreshRecyclerActivity.java)
 Comment 2: thks
{'source': 'GithubIssues', 'repo_name_with_owner': 'captain-miao/RecyclerViewUtils', 'issue_id': 166968596, 'repo_stars': 259.0}