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
Clarify commands around rvm
Simplify example, remove typo
Change user update to use #fetch for defaults

This changes the use of the || operator when setting the default of the
user attribute if the key does not exist to #fetch. This will make sure
that if false is passed in as the value it will still fail and use the
default setting.

This also adds constants to define and array and a hash of symbols which
is iterated over to set the users attributes.
Fix inviting others to private messages.
Merge branch 'ubuntu-install-notes' of github.com:bloomberg/discourse into sysadmin-docs

Conflicts:
	docs/INSTALL-ubuntu.md
Merge pull request #1847 from nickborromeo/refactor-user-updater

Change user update to use #fetch for defaults
BUGFIX: make the system_user an elder (TL=4)

Otherwise it won't be able to create topic when the `min_trust_to_create_topic` is > 0
Merge pull request #1849 from vikhyat/fix-pm-invite

Fix inviting others to private messages.
Merge pull request #1850 from Supermathie/sysadmin-docs

Finally merge in @kpfleming's suggestions in #1430
Merge pull request #1841 from CiderCooler/master

Clarify commands around rvm
FIX: Updated Markdown-js to include my latest FIX from upstream:
https://github.com/evilstreak/markdown-js/pull/164
FIX: Deprecation warning on bindAttr
Fix cold colours in activity column of topic lists
FIX: keyboard navigation in the search box results dropdown
Merge pull request #1852 from velesin/search_keyboard_nav_fix

FIX: keyboard navigation in the search box results dropdown
Revert "New API for replacing elements in the final JsonML. Also changes spoiler"

This reverts commit 6b9b2d3d6ad0dfc026fbf66d250220eab2c8c8fe.

We have come up with a better solution that does not involve HTML
parsing.
FIX: invited users get clearer messaging when setting a password for the first time
FIX: Bugged up Components vs. Views. My original error was using
`templateName` instead of `layoutName` in an `Em.Component`. This fixes
that and backs out other "fixes"