Forum module

This the forum module, provided with the style of @jeremyletang. The #283 should be closed and this one merged instead.
to be removed.