Register TinyMCE Plugin and Button

add_filter( 'mce_external_plugins', 'plugin_slug_add_button' );
function plugin_slug_add_button( $plugins ) {
	$plugins['plugin_slug'] = 'path/to/editor/plugin.js';
	return $plugins;
}

add_filter( 'mce_buttons', 'plugin_slug_register_button' );
function plugin_slug_register_button( $buttons ) {
	array_push( $buttons, 'plugin_slug' );
	return $buttons;
}