API bulk manager actions are now editable

Bulk actions can now be added/removed via component's addBulkAction()
and removeBulkAction()
API bulk action front-end data are configurable

Bulk action front-end behaviour and style can now be configured via
array( 'isAjax' => true, 'icon' => 'accept', 'isDestructive' => false )
passed to addBulkAction()
FIX Refactor JS bulk action handling

JS bulk action handling now works for any custom action
API bulk actions use separate handlers

Bulk actions are now handled by separate classes and should extend
GridFieldBulkActionHandler. Bulk action matching should be defined in
$url_handlers
Bulk editing is now separated from main logic

Created separate handler and js
Added proper visual clues about updated records
FIX action btn + loading indicator

.doBulkActionButton btn doesn't trigger cms actions and now has loading
indicator