spliceosome mechanism