Make the composer and TopicCreator use category id instead of category name

Also fixes #1171
Added backwards compatibility for topic creation
Use Discourse.Resolver to load mobile templates when they exist
Detect whether to use mobile view. Session var mobile_view can override automatic detection.
Create a mobile css manifest
Store mobile flag in Discourse.Session instead of Discourse
Restructure the app/assets/stylesheets directory
rename application.css.erb to desktop.css.erb
Add link in hamburger menu to switch between mobile and desktop views
FIX: Index out of range error

Fixes 'index out of range error' that occurs when viewing a user's
profile page when they haven't yet posted a reply or created a topic
and is @mentioned in a topic.
Add span.btn-text around 'Reply' text in the post menu
Restructure login form for mobile
If mobile view, don't switch to small logo in the header when scrolled down in a topic
Change the way nuked users' posts are handled. Allow null in the user_id column of posts. Show these posts in the posts stream.
Topic can have null user_id when user was nuked
todo added to code
give god rights of impersonation to developers, must be edited into the production.rb config file
Our JS includes belong at the top of the file, that way we can start
downloading and parsing them earlier and not wait for the rest of the page

Our noscript stuff belongs at the bottom, we should not hold off any js work
while noscript is downloading
fix user_controller_spec when testing too long usernames
refactor spec_helper