[NO-ISSUE][GRAPHIX] Adding a pure-rewrite version of Graphix.

Details:
- Users can create and delete managed graphs w/ CREATE GRAPH and DROP
  GRAPH. These will raise an error if a user tries to drop one of their
  dependents (and vice-versa).
- Users can introduce a set of variable bindings before UNNEST and JOIN
  clauses using the MATCH clause, which will iterate over all "matched"
  graph patterns. The MATCH clause also includes a "LEFT" variant.
- Graph edge patterns can be formulated as path finding queries, where a
  user can specify the range of hops between the two vertices of the edge
  pattern.
- Labels and directions can be inferred using labels and directions of
  vertices within the same FROM-GRAPH-CLAUSE. A naive evaluation
  strategy is used here (until we reach a fixed point).
- The initial set of Graphix functions are included.

Change-Id: I50f032ea4acc5ba46b86ae1052590a3e945c2497
Reviewed-on: https://asterix-gerrit.ics.uci.edu/c/asterixdb-graph/+/16103
Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Reviewed-by: Glenn Galvizo <ggalvizo@uci.edu>
282 files changed
tree: 8cd4ce2aa99f3047d195287d8a66e382009183eb
  1. .gitignore
  2. asterix-graphix/
  3. asterix-opt-bom/
  4. pom.xml