change preProcess from private to public

I need to override the preProcess method from a child class.

The use case is related to package renaming in a private satis repository. I understand the implication for packagist (and other public repository) but keeping the root packageName cause problem when you need to rename a package.

I will override override the name assignation with this

```PHP

// use the main identifier if name is not present
$data['name'] = !isset($data['name']) ? $this->packageName : $data['name'];

```
Fix use of non existing ->getIO() function
Literals on rule are now public

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

Reduction of rougly 1.3 million function calls on packagist update
Move public properties to top and document them
Make ruleById lookup table in rule set public

Saves about 500k function calls on a packagist update
Remove unnecessary pool reference from rules
Recreate getLiterals method for BC
Improve docblocks of public properties
Add back ruleById function for BC
Merge pull request #3481 from naderman/optimize-solver

Solver optimizations
Avoid generating duplicate conflict rules

For each version of each package we create a conflict rule with each
other version. These are then added to the rule set and skipped if
duplicate so instead we can just generate them only once to begin with
and avoid unnecessary memory allocation and duplication lookups.
Merge pull request #3482 from naderman/reduce-conflict-rules

Avoid generating duplicate conflict rules
Merge pull request #3389 from andrerom/undefied_getio_fn

Fix use of non existing ->getIO() function
Merge pull request #3383 from mpoiriert/patch-1

change preProcess from private to public
Fix the display of rules

Close #3483
Disable GC when computing deps, refs #3482
Merge pull request #3484 from stof/fix_rule

Fix the display of rules
Fix the Travis configuration

exit should not be used in script commands, because it exits the whole build script.
Thus, turning a failure exit code into another failure exit code is not needed.
Merge pull request #3486 from stof/patch-1

Fix the Travis configuration