add register_user (and register hooks are removed). add attribute tests

 - hook だとユーザ登録処理の中断が出来ないので register_user メソッドを生やすようにした
    - 自前で登録処理を用意するときは register_user メソッドを定義する
    - AutoRegisterUser プラグインを読み込んどけば勝手にやってくれる
    - CustomRegisterUser プラグイン読み込んどけば未定義の時警告してくれる
 - Attributeモジュールのテスト書いた
AutoRegisterUser.pm: add register_user log message.
alter table 'user': delete nick from privkey and add unique index with nick.

 - loginが同じでnickが異なるユーザを登録できてた不具合修正
 - channelモデルクラスのすべてのメソッドにloginの代わりにuserオブジェクト渡せるように修正
 - channelモデルクラスの余計な処理削除
Checking in changes prior to tagging of version v3.1.0.

Changelog diff is:

diff --git a/Changes b/Changes
index 6123434..c1d0d80 100644
--- a/Changes
+++ b/Changes
@@ -2,6 +2,41 @@ Revision history for Perl extension Uc-IrcGateway

 {{$NEXT}}

+v3.1.0 2013-12-27T01:22:44Z
+
+    - add registeration feature
+
+        - On the registeration phase after NICK and USER,
+          "$self->register_user" will be called.
+          So, you should define subroutine 'register_user'
+          in your package.
+        - You can load plugin 'AutoRegisterUser'
+          to define 'sub register_user' automatically.
+        - If 'CustomRegisterUser' plugin is loaded,
+          it notices when 'register_user' method is undefined.
+
+    - add hook point
+
+        - before_register_user
+        - after_register_user
+
+    - delete hook point
+
+        - irc.nick.before_register
+        - irc.nick.after_register
+        - irc.names.before_register
+        - irc.names.after_register
+
+    - bugfix: same nick users can be registered in duplicate
+
+        - migrate/v3_0_0_to_v3_1_0.sql
+
+    - User object is allowed as arguments of following methods.
+
+        - Uc::IrcGateway::Channel
+            - has_user, is_operator, is_speaker
+
+
 v3.0.1 2013-12-25T17:20:59Z

     - add hook point