Support single redis DB.
Various cleanups to Ubuntu installation instructions:

* Avoid editing /etc/apt/sources.list add nginx repo, instead create
  /etc/apt/sources.list.d/nginx.list

* Avoid editing /etc/nginx/nginx.conf, instead put server_name_hash_buckets
  setting into discourse.conf

* Proper-case Discourse when it is referring to the product name, so that all
  the lowercase references are to the user created during the installation
Address @Supermathie's concerns in PR1430
Locate the Puma config file.
Update puma.rb
FIX: Title text should be correctly escaped since we are generating a raw html.
Added some missing references, see https://github.com/rails/rails/issues/12982
adds small HasCurrentUser mixin test improvements
fixes HeaderController test
adds unit tests for Discourse.TextField
adds unit tests for SearchTextField
Categories page tweaks. Vertical align top the first two columns, padding fixes.
Update INSTALL-ubuntu.md

This uses the new environment variables; by duplicating the sample config and suggesting similar changes. It's not exactly perfect as it still has the sample config problem, just to a much lesser extent. It may help to ship a "most commonly changed" configuration [db name + user/pass, hostname, smtp] that can be duplicated from and easily edited.

Follows up:
http://meta.discourse.org/t/environment-variables/11494/5
Update "check sample configuration"

... reflects having one discourse.conf.
Merge pull request #1754 from trident523/patch-1

Update INSTALL-ubuntu.md
Small typo "check sample configuration"
Merge pull request #1755 from illspirit/master

Small typo in  "check sample configuration"
Fix smtp settings, added password
Merge pull request #1758 from illspirit/master

Fix smtp settings, added password setting
Update failing_emails_warning