Implement authentication with encrypted passwords

Implement authentication with encrypted passwords.  New users will now
be created with default passwords, causing Ramp to send them to a Set
Password screen the first time they try to log in.  Users may log in
explicitly from the menu bar, or will be redirected to the Log In
screen if they attempt an action for which they are not authorized.

Modify Table controller to prohibit adding or modifying passwords to the
Users table using standard RAMP table actions.  Provide a new Change
Password option on the menu bar when users are logged in which will go
to a separate screen just for that purpose, ensuring that new passwords
will be encrypted correctly.  Provide an administrative screen to reset
user's passwords back to the default if they have forgotten their
password (Reset Password).

Move all table settings related to the Ramp and Smart demos to a
separate demoSettings directory and move other, development-specific
settings/actions/menus (including many test settings) to a separate
devSettings directory.  These moves clear the settings directory for
an actual Ramp/Smart application.

Rename the ManageAuths settings directory to Admin, in anticipation of
new administrative tasks not related to the Users or Authorizations
tables (e.g., removing zombie locks).

Improve the installation instructions and procedures in several ways:
  -- Create a section specifically about addressing security concerns.
  -- Create scripts and special instructions allowing for the
     installation of the Ramp demo or Smart demo by running just a
     single MySQL script (after addressing a few security issues).
  -- Create simpler scripts that can be used as guides for installing
     customized Ramp/Smart applications other than a demo.
  -- Begin creating an installation document that will explain how to
     customize the application/configs/application.ini file.
  -- Move the configuration instructions for the Ramp and Smart
     demos to separate files to remove the expectation that new
     Ramp/Smart applications would include demo environments.

Commit several small changes that arose from previous testing of
TableViewSequence, affecting TableViewSequence, TVSGateway, and
SetTable.
Support Markdown in documents and activity descriptions

Add support for displaying text, HTML, and Markdown documents (new
'document' activity type).

Add support for Markdown in documents and in activity list comments
and button descriptions.

Add document resources to list of resources that can be stored in
ramp_auth_auths table and to list of resources that are extracted from
that table.

Add support for a documentationRoot property in application.ini.
Create a new application/docs directory and set the documentationRoot
property in all the various sample configuration files in the configs
directory to be the new directory.  Move all Ramp and Smart
documentation (aboutRamp, aboutSmart, and some drafty documentation
that was in a ramp/docs directory) to a new rampDocs directory under
the documentation root (application/docs/).

Introduce Ramp_Controller_KeyParameters class to eliminate need to
repeat code to get the key parameter for various types of controllers in
the init methods of those controllers and in the ACL plugin (which needs
the various key parameter to determine the resource being requested).

Make a number of functions in Ramp_Ini_reader static, and make
getSettingsDirectory method public.

Remove html and markdown activity types because they're too much like
comments and we could always look for Markdown markup in comments ?
Move About menus to Help menus in demos
Fix bugs and clean up messages in error reporting

Fix bugs in error reporting vs exception handling (some errors were
being displayed more like exceptions).  Improved error messages for
attempts to do unauthorized actions.

Cleaned up some comments, removed some commented-out code, added a few
extra error checks.
Fix cloning bug that disallowed "/" in text fields

Encode additional parameters being passed from clone to record-view to
allow for "/" in resource names and other types of input text fields.
Double-check that all additional parameters passed in controller/action
URLs have been urlencoded.
Merge remote-tracking branch 'upstream/master'

Conflicts:
	installation/rampDemoSetup.sql
    (removed this file)