Abstract functionality of blog and bloglayout

Merge #6

Reviewed-by: Rocky Meza <rocky@fusionbox.com>
Reviewed-by: Antoine Catton <acatton@fusionbox.com>