Using InitialSessionState instead of config.ps1

We need the stuff defined in config.ps1 everywhere, not only in the Pash application.
However, loading the config.ps1 everytime a runspace is opened is pretty slow (~200ms slower)
which has a significant influence on the time of the tests, as for nearly each unit test a Runspace
is opened.

InitialSessionState seems the way to go to define all default stuff. In the long run also
the default snapins should be loaded there, not in SessionStateGlobal
Delayed resolving of aliases, better errors if it fails
Added a few tests
Added support for user profiles
Using modified default InitialSessionState for some tests
Deleted deprecated config.ps1 from project
Merge pull request #265 from sburnicki/config_in_code

config.ps1 moved to code, basic support for profiles