Dev: Fix issue whereby you couldn't order with a click on a column after using order() API

Fix: I've removed the third entry in the aaSorting array, as the issue
was that after using order() that entry wasn't present. It was a bit
confusing as well, so it is now replaced with a property (_idx on the
aaSorting entries) which indicates the current sorting index (in
asSorting) - and this property is optional. If not given, it is looked
up or 0.
Build: Fix for weird status exit code from git diff
Dev: Fix issue with `targets` in `columnDefs` when the first column was
targeted using just the integer 0, the def wasn't being applied
Dev - examples: Fix examples not redrawing the table
API: New table.head(), table.foot() and table.body() methods

- New methods to get the header, body and footer elements of the tables
  the API instance works with (plural or singular).

  - .tables().head(), .table().head() - Get the THEAD element
  - .tables().body(), .table().body() - Get the TBODY element
  - .tables().foot(), .table().foot() - Get the TFOOT element

- This is for use, particularly with scrolling tables since it splits
  the elements into three parts.

- Also the .tables().nodes() and .table().node() methods tidied up