Redefine AVLTree_insert() to call _insertRoot().

data_structures/avl_tree/src/avl_tree.(c, h)
	-Split `AVLTree_insert()` into a second function, `_insert()`,
	which implements the actual recursion that inserts a data item.
	-Add a conditional call to `BinaryTree_insertRoot()` to
	`AVLTree_insert()`.

data_structures/avl_tree/src/test.c
	-Update `_test_createDataItems()` accordingly.
Redefine AVLTree functions to use AVLTree_Node_t.

data_structures/avl_tree/src/avl_tree.c
	-Define and document `_createNode()`.
	-Redefine `AVLTree_insert()` and `_insert()` to wrap raw `data`
	in an `AVLTree_Node_t`, instead of passing it directly to the
	underlying `BinaryTree` functions.

data_structures/avl_tree/src/test.c
	-Modify `_printData()` and `_saveTraversedData()` accordingly.
Add balance factor updates to _insert().

data_structures/avl_tree/src/avl_tree.c
	-Define and document helper `_abs()`.
	-Update `AVLTree_Node_t.balanceFactor` in `_insert()`.
Define _rotateLeft() and _rotateRight().

data_structures/avl_tree/src/avl_tree.c
	-Define and document `_rotateLeft()` and `_rotateRight()`; not
	yet integrated into `_insert()`.
Integrate rotations into _insert().

data_structures/avl_tree/src/avl_tree.c
	-Integrate LL, LR, RR, and RL rotations in `AVLTree_insert()`,
	using `_rotateLeft()` and `_rotateRight()`.
Fix right insertion bug in AVLTree_insert().

data_structures/avl_tree/src/avl_tree.c
	-Fix a right-insertion bug in `AVLTree_insert()`: an incorrect
	conditional check caused an RR/RL rotation to be performed when
	the other was required.
Fully debug rotations.

data_structures/avl_tree/src/avl_tree.c
	-Fix some incorrect statements in `_insert()`.
	-Move balance-setting from `_rotateLeft()`/`_rotateRight()` to
	`_insert()`, because it only applies to LL/RR rotations and not
	LR/RL rotations, and the latter two use those functions.
Clean up AVL unit-tests, add content to README.

data_structures/avl_tree/README.md
	-Add an overview of the project's contents.
	-Document `make` targets.
	-Add code demonstrating example usage of the `AVLTree` module.

data_structures/avl_tree/src/test.c
	-Remove `_printData()`, which was used purely for manual
	testing.
Merge branch 'data_structures/avl_tree.rotations' into data_structures/avl_tree

data_structures/avl_tree/src/avl_tree.c
	-Implement rotations in `_rotateRight()`, `_rotateLeft()`.
	-Integrate them in `_insert()`.