Some minor refactoring; Add slug validation to articles