Make dashboard more mobile friendly in 5.6.x

Re-adding viewport in whole dashboard, some tweaks in mobile.less
Let's use shelljs instead of rimraf+execSync

- shelljs is a powerful and complete package
- execSync requires node-gyp that requires python... Quite too much...
Use shelljs instead of rimraf
build-release-clean fixes

- avoid creating a global variable "walk"
- don't continue execution if errors are raised
build-release-finish fixes

- use shelljs instead of rimraf+exec-sync
- fix handling case when version is not found
- echo some message so that users know what's happening
Added the following features to the stacks views:
- Add block from clipboard
- Rename the stack
- Duplicate the stack
- Reorder stacks

The renaming also supports workflow. For the duplication, workflow was not implemented as the original "add" functionality does not support workflows either.
Removed unnecessary if clause.
get area handle and name through method which is easier to override
Revert "get area handle and name through method which is easier to override"

This reverts commit 3804e97eea47c29d944dfcd34c9f62c09a478e1b.
prevent default action to avoid having a # in the URL
make sure we get a proper File object or an error
Fix importing CIF for slideshow

Skip importing the slideshowImgId field of btSlideshowImg, since it's an
auto-increment value.
Make Image Attributes easier to use from code

Saving an image attribute from code is a PITA because it requires a file object rather than a file ID. That makes it a special case when connecting post data to save into the attribute value. Rather than have to keep writing work rounds and special cases, this change makes an image attribute adaptive to save from a file object or a file ID.
Make the asset helper easier to use

When using the asset library helper, it expects a file object for the existing file. Yet files are usually saved as file IDs. 

Making the helper adapt to accept an object or ID for the existing file saves anyone using the library from having to worry about the difference.
Adjust movePageDisplayOrderToBottom function to only do 1 update
Throw an exception if importing an unknown block

When importing CIF data that contains an unknown block type, the execution
halts with an error message that does not help understanding what happened
("getController() method called on a non object").
This may happen for instance we don't have installed a package that
implements a specific block type.

It's better if we throw an exception that explains better what went wrong.
sanitizing int for rcid
profile edit form token
Merge pull request #1662 from gk-c5/fix-xss

sanitize and validate
Increase size of indexed content

ADODb's "X" corresponds to a "TEXT" data type (65K chars max).
That may not be enough: let's use "X2" (that corresponds to a "LONGTEXT"
data type).