Merge pull request #75 from Lutger/master

fix for error in the case of UNC syntax in PATH
Fix warnings for latest DMD beta.
Deprecate "relaxProperties", remove the default -property switch and warn about using them. Fixes #73.
Remove all unit tests from the processcompat module as many of them failed (not an issue since the new std.process is now in DMD 2.063).
Add unit tests to the path module and make \\UNC\ paths absolute.
Compile fix for -inline compilation.
Add exception messages.
Add support for DUBPATH and "add-path" + change the default installation location to the DUB user path. Fixes #64.

This change allows to specify a number of directories in addition to the system and user DUB package directories to search for local packages.

Full list of changes:

 - Add support for the DUBPATH environment variable (a (semi-)colon separated list of paths)
 - Add support for "dub add-path" and "dub remove-path" to add static search paths
 - The branch of local packages with no "version" field in their package.json is now inferred using "git rev-parse"
 - The structure of the user/system package directories is changed from "packages/<packname>/<packver>" to "packages/<packname>-<packver>"
 - There is no project local package directory (".dub/packages") anymore - packages are instead installed to the user package directory by default
 - Upgrading and uninstallation is partially broken in this commit - will be fixed later
Fix dangling else warning.
Query git to determine the current DUB version and report it on the help screen. Fixes #39.
Fix Posix build script.
Do not enforce the components to be valid, when constructing a Depenency object from another. The Dependency will then return valid() = false, which is in fact a valid state of the object.
When conflicting dependencies where current in a project and its dependencies, dub could get into an infinite update loop.
This was because one package to be used was added to the graph, which then spawned a missing package for another dependency, because of not matching versions. These versions could then toggle forth and back.
This is now solved by aborting the dependency graph resolving process when conflicts are found. As the dependencies are resolved from the outermost to the innermost, this will propably hide some deeper conflicts, but then again show more user relevant conflicts first.
This does not resolve the question on what to do when merging ">=0.13.4" with "~master". But this can be resolved later on.
Fixes #72.
Avoid calling pkg-config with no libs present.
Merge branch 'master' of github.com:rejectedsoftware/dub
Update change log.
dub's Version are now based upon Semantic Verioning 2.0.0-rc.2.
Merge branch 'master' of github.com:rejectedsoftware/dub
Made "dependencies" a per-configuration setting instead of a purely global setting.
Compiler and linker flags are not added in a unique way anymore.

This was breaking command lines such as "--framework A --framework B" on Mac OS.