Support for Abandoned in Packages

Added parsing for abandoned property into the CompletePackage Object.
Abandoned support in `show`

Executing `composer show` on an abandoned package displays the warnings for package status.
Abandoned packages support

Added warning to the installer process.
If any installed packages are flagged, the user will get a warning at the end
of the install/update process.
PR Review

- reverted comma removal
- made getReplacementPackage consistent
- removed abandoned flag if false
Merge pull request #2734 from naderman/optimize-solver

Optimize the solver and remove unnecessary code
Merge pull request #3325 from rdohms/implementing-abandoned-packages

Abandoned Package Warnings
Fixed issue #3441
Merge pull request #3442 from SamMousa/master

Fixed issue #3441
This entirely removes StreamableRepositories and minimal package arrays
Remove further unnecessary checks for packages being arrays
Add failing test case
Add comment
Merge pull request #3447 from naderman/remove-streamable-repository

This entirely removes StreamableRepositories and minimal package arrays
Merge pull request #3446 from cs278/issue-3444

Failing test case for #3444
Remove unused selectNewestPackages method in DefaultPolicy

Unused as of 1b6f57e6515f6a81edd11572686eb389183f2636
Literals on rule are now public

This causes a reduction of ~500k function calls for packagist composer
update (~14 million total).