Working towards better abstractions
Added note about ranking/pruning language
Simple changes:

- [diff.ml]
  A node which matches an exit node has no successor nodes
- [main.ml]
  Optimization: when checking if a semantic pattern matches
  threshold number of CFGS first check whether the pattern
  matches the focus_function (if one is given); if not, then
  we don't need to try and match any other CFG.
Added new command line parameter

A new parameter can be given to spdiff "-include_larger" which will
allow spdiff to start finding semantic patterns (and subsequently
patches) from a larger set of initial node patterns.

Run-time will most likely increase quite a bit. At least it does so on
weak laptop.
Bug-fix: the 'get_successor_nodes' was wrong.

The function would include the current node as a successor which could
cause spdiff to find semantic patterns such as:

foo(a);
...
foo(X);

on a piece of code

foo(a);
First steps towards making spdiff faster

Basically the idea is that we should find patterns based on chunks
that we detected as having changed. Now, we find patterns from a
premade set of node patterns.

We should still construct the set of initial node patterns, but when
deciding which node pattern to start growing a larger pattern from, we
should only consider the node patterns that matched a changed
location.

If we implement the above, we have to take care to grow patterns in
"both" directions because otherwise there might be some patterns that
starting with an unchanged node-pattern that we will not find.
A local decl. is only useless if there's no initialization of the variable
Indentation fixes
More syntax prrtyness
Slight improve perf. of "constructing s.patches" phase
Make part of spdiff use more cores

This commit requires that the Parmap library gets installed
(https://gitorious.org/parmap) the makefile assumes that the library
is installed in /usr/lib/ocaml/parmap.

Also required is the extlib (http://code.google.com/p/ocaml-extlib/)
assumed to be in /usr/lib/ocaml/extlib.

The location can be changed with the SYSDIR variable in the Makefile.
Minor changes

- change indentation of part_of_edit_dist and sligth style changes
- add printing function for 'a diff values
Quick fix for e93a0843ac1cbf078e30c623bd116254ba446c2b

Remove test for safety while growing semantic patches. We'll filter
out the unsafe ones in a later phase.

The problem is (seems to be) that a partially grown patch may be
determined unsafe when it only removes stuff and it should also add
stuff.
Fix use of parmap library

I forgot that when 'concat'ing several lists obtained from seperate
cores, we also need to merge those lists.

The result was that when the number of input term-pairs was exactly 4
(or maybe even factor of 4)--because we make parmap use 4 separate
threads-- we would not actually do any merging of the lists.
Cosmetic changes
Disable use of Parmap library for now
Be less verbose
Add flag to determine make local vars unique

By default the flag is NOT set, meaning we don't mangle local
variables to be unique. Thus, when spdiff can find a change where the
local variable has the same name across all instances, the variable is
NOT abstract by default.
Allow matching of def-nodes

We now allow the def-node to occur in semantic patterns. The
consequence is that it is now possible to find changes that are
dependent on the enclosing function definition.

So far only tested on two examples though.
Default to making names of local variables unique

It should be considered incidental when we find a patch that uses a
concrete name in place of a local variable.