Feature: category #317

This is the implementation of #317
Here are some to-dos for me:
- [ ] Deploy a live site to test
- [ ] UI needs to be changed 
- [ ] **Color** of the UI not implemented

@elkuku @b2z Please review the code. And especially the `etc/mysql.sql` file. I will probably deploy a live site later today, but need your advices on how(or where, etc), so you can test with full - feature. Do we need a fake account and fake repo?

And for the UI part, any ideas?

Thanks!
Done the fix. It turns out I only met the situation that oldCategory is not an array, but I forgot to consider the input source...