Fixed a bug that failed loading the config.ps1 script on startup if the project is in a directory with spaces.
Extracted formating of config command to function, wrote unit test for it.
Enable BindingCombinationNonDefaultSet test
Changed MonoDevelop specific settings to fit the code formatting of VisualStudio
Merge pull request #175 from sburnicki/monodevelop_codeformat

Changed MonoDevelop specific settings to fit the code formatting of VS
Replace general throw Exception for Parameters binding by ParameterBindingException
Revert exception type for ambiguous parameter from ParameterBindingException to ArgumentException
Allow variables inside double quoted strings.

Example: "$foo"
Implement AST for variables inside an expandable string.

Simple variables inside a double quoted string are added to the
expandable string's nested expressions.
Merge pull request #174 from vors/master

Enable BindingCombinationNonDefaultSet test
Introduced scope class to change architecture to support scopes

Pash's architecture had no support for scopes. Instead, there was just
one global scope. These changes are the start of scope implementation.

While the "global scope" bahvior isn't changed, yet, the architecture
is changed to support scopes in regard to variables and drives.
The new class, SessionStateScope, is the new heart of a SessionState
and is intended to support nested scopes. The SessionStateGlobal class
is intended to care about the not-scope related things as providers.
An important change is that SessionStates aren't simple copy-objects
that are created every now and then, but only if it's really necessary.

There are further steps that need to be done to fully support scopes:

* While VariableIntrinsics and DriveManagementIntrinsics already implement
  the new scope behavior, the alias and function scope support still has
  to be added.

* Once this is completed, the creation of SessionStates has to be adjusted even
  more in order to correctly create new scopes.

* The existing cmdlets (new-variable, etc) need to be re-written to better
  support scopes, read-only flags, etc.

* There should be some refactoring of existing code. SessionState should
  be used as a central object to modify the sessions data.
Merge pull request #176 from sburnicki/scopes

Introduction of scopes
Implement script extent for parse tree nodes.
Add script extent for nested expressions inside expandable strings.
Expand variables inside double quoted strings.

"a = $a"
Update authors.
Merge branch 'master' into expandable-strings

Conflicts:
	AUTHORS.md
Merge pull request #177 from mrward/expandable-strings

Expand variables inside double quoted strings
Scopes: Functions, Aliases, Refacoring

This is the second big step of implementing scopes in Pash.
The major changes are the following:
 * FunctionIntrinsics and AliasIntrinsics were introduced, s.t. function and aliases
   are handled analogously to variables and drives.
   Note: All the *Intrinsics classes need to be a little extended if the Providers /
   cmdlets are updated to use them. But this shouldn't be hard any more, because
   of the next point.

 * The class SessionStateScope, which was introduced in the last step, was changed to
   be generic and always refer to a specific type of items.
   This approach was chosen, because the *Intrinsics classes are all specified a little
   differently with different details. To avoid a lot of duplicate code, the core
   methods are now directly in SessionStateScope, only the details (or wrapper functions)
   are exposed in the *Intrinsic classes.

 * The interface IScopedItem was introduced in oder to make AliasInfo, PSVariable, PSDriveInfo,
   and FunctionInfo all usable by the new SessionStateScope implementation.

 * The tests however still refer to the *Intrinsics classes, though they share mostly common
   functionality. However, these classes count in the end and bring slightly differences,
   so this makes sense.

 * Some Exception classes were implemented in order to be used.

 * First necessary changes in the cmdlets were done, in order to be able to integrate the
   new architecture. However, they still need some refinement in order to support all features

 * The CommandManager now always need an ExecutionContext in order to instantiate. This is
   necessary in the new architecture and does make sense, as the SessionState is part of
   the ExecutionContext and it provides information about available aliases and providers.
   Therfore the provider intialization was moved to SessionStateGlobal, for now.
   Later on, also the Providers should be handled by SessionState.Provider (ProviderIntrinsics,
   see specification),  but are no scoped items.

All tests run without errors, on both windows and linux. I also tested some basic work in Pash,
and didn't face any problems.

Upcoming steps:
 * Make sure new scopes are created when scripts, functions or scriptblocks are executed
 * Take another look at the existing cmdlets and refine some
 * Make functions work with parameters
Merge pull request #178 from sburnicki/scopes_step2

Second step of scope integration: Functions, Aliases, Refacoring