Add a threshold for LICM alias analysis 

[reviewed by sung] 

Because the alias analysis is currently so conservative you can have some
extreme cases where there are too many aliases to be stored in memory (since
all pairs are stored), which leads to large compilation times. This just sets
an upper bound for such cases. Currently there are only a handful of cases
where this limit is actually reached (there has to be a massive function, with
a lot of potential aliasing.) 

If there are too many aliases, we just skip hoisting from that function.  There
are only a few functions from the tests users/franzf/v1/chpl/main and
optimizations/bulkcomm/alberto/Block/3dStrideTest that get skipped currently. 

The max number of aliases is defined in LICM, but if there are any
unpredictable increases in compilation times, a compiler flag can be added.


git-svn-id: http://svn.code.sf.net/p/chapel/code/trunk@21860 3a8e244f-b0f2-452b-bcba-4c88e055c3ca