(#1695) Add failing test for repository replace

As described in #1695, the `^:replace` metadata for the
`:repositories` section of the project file stopped working
around 2.4.0 (commit 17e91e6).

This commit adds a failing test that illustrates the
behavior.
(#1695) Respect priority when merging defaults

This commit adds an extra condition at the beginning of the
`setup-map-defaults` function, such that if one of the two
items being merged has a higher priority than the other,
it is honored.

This seems to fix the issue where the `^:replace` metadata
was not working properly
Expose version-satisfies?. Shouldn't be internal.
Bump stencil to 0.3.5.

Fixes #1739 and #1563.
Check :manifest before using default :main.

Fixes #1736 and probably #1710.
Merge pull request #1732 from cprice404/bug/1695-repository-replace

Fix support for `^:replace` metadata on `:repositories` (fixes #1695)