update validations conditions

added conditions for validations. we can now create an empty BlogPost if
published is not true. validations is required only if published is true

added a random title on creation so before_save doesn't fail

added methods for safe_body and safe_description that returns an empty
string if they're nil or return the text escaped

added specs and updated the factory
changed the controller for the new validations

the new method now creates an empty blog post and redirects to edit
removed the create methods
changed the features for the new validations

when creating a new blog post you get send to the edit page so all the
messages change.
also updated the admin index page to return the blog_post.safe_body and
safe_description
use id for admin paths and set default values

changed the admin paths to use id not slug.
changed the default values for body, description and title and cleaned
up the model methods
updated admin controllers and views to use id

updated the admin blog_post_controller and a few admin views to use
blog_post id for the admin_paths
added the destroy method

added the destroy method and specs
add delete button on index and edit page

added the delete button on the index page and on the edit page
there is no popup or validation when clicking the button. that should be
handled on the site.
removed new view

removed the new view since it's no longer necesary. the new method in
the controller creates a new blog post and redirects to the edit page
change validations, specs and refactor the model

we want to have validation on title and body to be on update,
description should be validated on update and when published is true

removed the body_safe, description_safe and default_value from model

updated specs
update specs and views

fixed a few specs description in blog_posts_controller_spec

updated a few views. added condition if tags are not present. used raw
for escaping body and descriptio for when they're nil

added data: { confirm: 'Text' } for delete link
remove empty title text

removed the default empty title text. use try(:titleize) on title for
when it's empty
updated the design of the admin index page

use tables for the admin index page. updated features that interact with
that page
Merge pull request #10 from xskander/feature/create_empty_blog_posts

empty blog posts