Explicitly sort boards instead of relying on sorted database tables

Previously boards were sorted within the table and were not sorted on runtime when being fetched, this behaviour is broken in MySQL 5.6+ as well as PostgreSQL, SQLite. Adding a simple ORDER BY into the query is heavy and slows things down.

Instead cache the sorted order into a long term cache and use it to sort the fetched boards array, any board or category list that needs to be sorted has to be passed via sortCategories() or sortBoards() functions

Signed-off-by: Shitiz Garg <mail@dragooon.net>