[WIP] Improved ranking of codeassist proposals 

In projects with a high number of vendor libraries, codeassist proposal often have quite a large number of similar entries in different namespaces. For example in Symfony2 + a couple of bundles, when completing the type `User` you can have a list of 5 - 15 entries in codeassist, but the one from your bundle is alphabetically one of the last entries.

Each time you get codeassist for `User` type, you have to scroll down to the one you actually need.

This PR is a first sketch on how this could be improved by using the number of times the user has selected an entry as the base for computing the relevance of each entry. Entries that have been selected more often are automatically sorted higher in the list:

- First trigger of codeassist for the `User` type: [screenshot](https://dl.dropbox.com/u/8251167/Screen%20Shot%202012-10-30%20at%2000.16.16%20.png)
- Second trigger of codeassist for the `User` type: [screenshot](https://dl.dropbox.com/u/8251167/Screen%20Shot%202012-10-30%20at%2000.16.40%20.png)


This is not yet meant to be merged, just a proposal. If you think this approach makes sense, i can give this PR more detailed treatment.