Improve admin page by using tables
Add CSS for flash.notice
Fix table border shown in login form
Don't use stylesheet_tag in login_form
Fix error in CSS where cell borders are not displayed
Modify .gitignore to ignore all image files except test images
Don't throw exception when file to be deleted is not found
Fix bugs regarding image file paths

Bugs are fixed by refactoring the code to use convention:

    IMAGE_ABS_PATH = PARENT_DIR + RELATIVE_PATH_TO_IMAGE

where PARENT_DIR is app/assets/images/
Show different error message when creating new user
Fix bugs when validating input when creating user
Set I18n.enforce_available_locales to true
Small changes such as adding comments, removing unnecessary "()"s
Always use lowercase for usernames
Modify show() method to first search for screen name and then username

This allows showing articles written by users who do not have screen names.
Distinguish who posted the article and don't allow someone else to edit

User "root" is allowed to edit any post.
Use "posted_by" to show who has posted the article/product/photo

"author_username" is renamed to "posted_by" for consistency.
Fix bug where posted_by is not added to posts

This is caused by @logged_in_as.username not manually added to post in
"create" and "update" methods.
Fix bug where program attempts to show newly posted product/photo on create

This bug is fixed by redirecting to the list of all products/photos.
Allow editing user information
Create method that checks whether the user can modify the post