* Fix for ID caching
Rebuilds the cache every time a group or permission is added / deleted (create_perm, delete_perm, create_group, delete_group).
* Fix precache_perms()
* ID-Caching
- Very simple caching mechanism for Group- and Permission-IDS
* Transcations are used in delete-functions
- Added basic transaction-handling to delete_user(), delete_perm() and delete_group();
* Removed some trailing spaces
- removed user get query from DDoS check in
- fixed DDoS protection to update login_attempts if user not exist too
- removed user get query from DDoS/reCAPTCHA check
- fixed DDoS/reCAPTCHA proection to update login_attempts if user not exist too
- added `get_login_attempts()` returns login_attempts as INT (used in `login()`)
- fixed both SQL files
- fixed `list_pms()`
- fixed `delete_pm()`
- updated CHANGELOG
- added abilty to send `system` PM's for `send_pm()` & `send_pms()`
- changed `name` to `username` in aauth_users table
- changed `name` to `username` in all user related functions
- changed `$name` to `$username` in `create_user()` & `update_user()`
- added `user_exist_by_username()`
- changed `user_exist_by_name()` to an alias of `user_exist_by_username()`
- added `pm_cleanup_max_age`-config_var
- added 2 files (`pm_deleted_sender` & `pm_deleted_receiver`) in pm table
- changed `list_pms()` to catch only not deleted pm's
- changed `delete_pm()` now it need a user_id to delete a pm (like `get_pm()`)
- changed `delete_pm()` sender's can now detete pm's from outbox
- changed `count_unread_pms()` it counts now only not deleted pm's.
- added `cleanup_pms()` removes pms older than X defined by `pm_cleanup_max_age`-config_var