From Chris Angelico <rosuav@gmail.com>, add connect_before option to signal_connect so you can connect the signal before or after the default hooks.