Whith the number of projects growing, it is important to be able to
filter them in a more convenient way than by names. It is especially
important for benchmarks, when it is not viable to analyze big
projects 20 or 50 times in a row.
Because of this reason, this commit adds a notion of sizes and a
filtering interface that puts a limit on a maximum size of the project
to analyze or benchmark.
Sizes assigned to the projects in this commit, do not directly
correspond to the number of lines or files in the project. The key
factor that is important for the developers of the analyzer is the
time it takes to analyze the project. And for this very reason,
"size" basically helps to cluster projects based on their analysis
time.
Just an observation rather then a suggestion, its interesting that we don't have a MEDIUM size in between SMALL and BIG. I think the TINY category describes the sub-minute runs well, and it'd be awkward to introduce a project in between SMALL and BIG, so I don't immediately see a time interval we need to categorize.