Divide each button into a component to allow managing state easily
What does this MR do?
This is a set of MR to accomplish the end result of https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/9750
Step 2:
- Divide each button into a component to allow managing state easily
- Transform UJS actions into buttons
- Adds tests for new components
- Adds needed changes to use new components