RFC: Tweak the compiler's default linkage for dylibs

When the compiler generates a dynamic library, alter the default behavior to
favor linking all dependencies statically rather than maximizing the number of
dynamic libraries. This behavior can be disabled with the existing
`-C prefer-dynamic` flag.

[Rendered](https://github.com/alexcrichton/rfcs/blob/change-prefer-dynamic/text/0000-change-prefer-dynamic.md)
It's mostly a matter of taste for which heuristic we think is best to do by default. Invariably each one will be right in some cases and wrong in others. I would intuitively expect that if any dynamic libraries *must* be linked, then you may as well choose as many others as possible.

Additionally, dynamic libraries impose restrictions to what kinds of other libraries can be linked. The compiler ensures that each library appears only once, so if an rlib A is linked to dylibs B/C (statically into both), you can't link B and C into any other future products because it would include the library A twice. I think that if each dylib maximizes the number of dylibs it links to (which is hopefully the case if they're all intermediate products) then it may be best to continue maximizing, but if each dylib separately maximizes the number of static libraries then it's likely that they're mostly incompatible.

I'm really sure which way is the best option, I think there may be downsides to both. Supposedly we need a distinction between an intermediate dylib and an end-product dylib where an intermediary maximizes dylib deps while an end-product minimizes dylib deps, but that's also somewhat complicated...