for #23095 allow environment variables in core_{os}.cfg files
see https://github.com/shotgunsoftware/tk-core/pull/32
for #23095 expand env variables in the core_{os}.cfg files in tank shell script
address pull request comments
- add more descriptive comments with examples
- simplify env variable expansion by using os.path.expandvars() instead of using os.environ
- use double-quotes for consistency
- remove references to phantom logging objects
removed duplicate parameter in setup_project.py
Fixed bug #25556 in register publish when storage is a drive on Windows.
This would result in the first character of the path_cache field being
cropped off which then stops find_publish from working!
For #24475 - Resolution now JIT for user sandbox folders
Previously the user was always resolved even if the folder didn't need to be created making it impossible to create any folders without a valid user.
Closes #73
Merge pull request #75 from Byron/patch-1

Removed duplicate parameter in setup_project.py
#25586 [minor] cache_apps command now checks frameworks.
Previously, it would only check apps and engines.
For #25555 - Framework & engine blocks can now be included in envs
This is consistent with the existing support for apps.
For #25582 - Resolved recursive trap in frameworks install.
If an APP required frameworks A and B and framework A also required framework B and none of the frameworks had been installed, an exception would be raised because of the depth-first manner the recursion was carried out. Changed to breath-first to that the environment object is correctly representing the changes that are carried out as part of the recursion.
For #25555 - Added error message for referenced framework install.
This is similar to the message which is already current generated if apps or engines are installed into referenced sections.
Closes #77
#25588 Install commands now support dev mode. Added DEV ui decoration.
Adds support for dev descriptors to the install_app and install_engine
commands. Also added a tweak so that if you are launching a UI from an
app with a dev descriptor, a small DEV suffix will be appended to the
title to help developers keep track of which apps are in dev mode.
Closes #78
add comment to clarify this is Linux/OSX only functionality
Merge pull request #69 from shotgunsoftware/23095_env_var_expansion

for #23095 allow environment variables in core_{os}.cfg files
#25602 Adds a new method bundle.execute_hook_expression()
Adds a new method that lets you execute a hook expression directly. Also
updates execute_hook_by_name to support arbitrary hook formats and not
just files in the configuration formats. This method is now legacy and
the new execute_hook_expression method is the recommended way to execute
arbitrary hooks. Closes #79.
[minor] Added debug logging around shotgun calls in the tank command.
Added some links and documentation resourcesto the main core readme.
This should help users arriving directly at the github repository to
find our documentation that explains how to get up and running with
Toolkit.
[minor] Removed very old message from setup_project talking about v0.13
This was relevant back when clients upgraded from 0.11 but is hardly
useful anymore.
#23778 Improved QT Styling
Adds a new method to the engine base class:
_initialize_dark_look_and_feel() which replaces the
_get_standard_qt_stylesheet() method (which will still be around however
deprecated).

This method sets up a visual environment very similar to the one in
maya. It is using a slightly different approach than just using a
stylesheet - instead, it is a combination of style, palette and some css
on top. The hope is that this should provide a broad, solid and
consistent style base for all apps and widgets and ensure that they are
looking similar to the way they would look in Maya (or Nuke for that
matter).

Engine initialization will typically look something like this with the
new method:

# start up our QApp now
qt_application = QtGui.QApplication([])
qt_application.setWindowIcon(QtGui.QIcon(self.icon_256))
self._initialize_dark_look_and_feel()

Closes #80.
#25657 include statement now supportes environment variable expansion.
This allows paths declared via the include or includes statements in 
the templates.yml or environment files to contain environment variables.