Use parent_id in query for descendants refs #6974
Added --json option to regen-derivatives ref#6975
Override NS and descendant queries fixes #6978

Previously we removed the nested set related code for digital objects
in BaseDigitalObject. We also changed the descendants query to
reflect this and use parent_id for the query instead of lft/rgt.

However, if the user regenerates the database model via propel, the
removed / modified code will revert back due to the generator not
reflecting the changes.

This fix will override the nested set / descendant methods in
QubitDigitalObject, and simply do nothing when they're called.
This should persist / solve the issue if the user ever regenerates
the model.
Merge remote-tracking branch 'somazx/master'

Conflicts:
	apps/qubit/modules/informationobject/actions/fullWidthTreeViewAction.class.php
Tweak default logging settings

[warning] or higher for every front-end (all)
[debub] or higher for the dev front-end
Ignore secure cookies in non-https sites
Show brick .bottom only if it applies
Fixed issue with physical object creation logic.

If a location was blank, a blank location would be associated with
the physical object. Fixed.
Nixed phys. object import location requirement.

Removed the requirement, during CSV import, to have a location associated
with a physical object.
Implemented progress indicator throttling.

Added logic to allow progress to be indicated visually every n items
and emoved unused CLI option.
Minor refactoring of export task.
Added bulk export flag to not export children.

Added a flag to the bulk export CLI task to not export children.
Avoid requiring the PHP readline extension if not necessary
The autocomplete.js code now checks for a data-autocomplete-delay attribute on the input element to override the default 1 second delay.
Link accessions to existing descriptions via parent slug

Indentation edits
Add configuration option to digitalobject:load task
Repository records - additional access points and facets.

Refs #5596.
Stop tracking empty uploads/ directory

It makes it harder when we use a symlink instead or mount points.
AtoM can still create the directory if it doesn't exist.
Support for params in cache_engine

cache_engine used to be a string containing the name of the class used in our
internal cache, e.g. sfAPCCache, sfAPCuCache, sfMemcacheCache, etc...
This commit adds support for a dictionary (class and param keys) in addition
to the old single-string format. This is very useful when we need to pass extra
settings to the cache engine, e.g.

New format:

  cache_engine:
    class: sfMemcacheClass
    param:
      [dict: see sfMemcacheClass for more details]

Old format (still supported):

  cache_engine: sfAPCCache
Add new storage factory for distributed sessions

Our default storage factory has always been QubitSessionStorage which extends
sfSessionStorage. In scenarios where AtoM is deployed across multiple nodes,
sessions musn't be stored locally. This commit adds QubitCacheSessionStorage,
which extends sfCacheSessionStorage.

Example (factories.yml):

prod:
  storage:
    session_name: symfony
    session_cookie_httponly: true
    session_cookie_secure: true
    cache:
      class: sfMemcacheClass
      param:
        ...