implement update_action and change the context menu's upload to update

it's not the start-point.

All the cases which should be taken cared of are upload or update, not ``not_found`` or these if-elses.

1. Should a update request is needed?
2. Should a update request needs a user confirmation?
3. Fallback where it is not fit into the first two cases.

PS: the code of ``FileUploadTask``-related is kind of complex and I am trying to keep it untouched when possible.