增加了权限控制系统

权限控制系统使用方式如下
每个继承自AppAction的控制器都继承了权限控制系统。但默认的情况下是允许所有人访问所有页面。

在每个action里，需要重载函数 protected function getAuthorityArr()  返回值为权限控制数组
来让本系统获取权限控制数组（如无重载此函数，系统将调用默认版本，让所有页面均可访问）
权限控制数组定义方式如下：
array(
'_default' => array(
'_defaultPM' => true,
0 => true,
1 => true
),
'edit' => array(
'_defaultPM' => false,
0 => false,
1 => true
)
)

现举例说明。如果现在用户的用户类型是1，现在访问本action下的edit函数，则会检查： 权限数组['edit'][1] 为true,
故可以访问.

假如现在用户类型为2的用户访问了edit页面:
先检查 : 权限数组['edit'][2] 不存在,于是检查 权限数组['edit']['_defaultPM'] 为 false 故不可以访问

现用户组为2的人访问 login函数
先检查 权限数组['login']['2'] 不存在
再检查权限数组['login']['_defaultPM'] 不存在
再检查['_default'][2] 不存在
再检查['_default']['_defaultPM'] 为true
可以访问

当判断出该用户无访问权限时,将会调用函数protected function withoutPermission()
若本action里未重载此函数,将调用默认版本的protected function withoutPermission()
具体定义在AppAction中