Better control and indication to refresh

introduce a button for manual refresh. 
it is also for refresh in progress indication.
do not stop refresh on refresh error.
if we are in progress of refreshing, ignore subsequent requests.