Fix: `grid` ARIA role should be on the `table`, not the container

- Feedback from James Craig - author of WAI-ARIA specification.
Fix: Keyboard navigation of the paging control

- Because DataTables is destroying and creating elements for the paging
  control, focus is lost when navigating via keyboard. This is a real
  pain when trying to operate DataTables that way! Fix is to refocus on
  the new element.
Fix: Don't redraw the table for page change when no change needed

- If you were to click the 'previous' button when on the first page, the
  table would redraw - that's the easiest manifestation of this bug to
  see. There is no need to redraw the table when the paging hasn't
  changed, so don't.

- This fixes DataTables/DataTables #304
Fix: Legacy API fnGetData with no parameters was flattening the return
array
Fix: Accessibility improvements

- Remove the aria-relevant from the info text to use the default,
  otherwise it was reading information that isn't very useful
- Change info text role to `status`
- Remove `role=row` from header - this is experimental and might change.
  Might need it on this row and all rows in the table
- Based on feedback from James Craig (thanks!)
Fix: Selector couldn't be given as an API instance with indexes

- It is useful to be able to filter row indexes by a condition and then
  operate on the resulting array of indexes, but before the selector
  would only itterate over real arrays. So if you passed is an API
  instance with the result set being the indexes to delete, it wouldn't
  work!

- Fix is to loop over anything which has a `length` property

- Thread 20572
Fix: Accessiblity - Add `role=row` attribute to table rows

- Feedback from James Craig on improving the accessiblity of DataTables.
  Since the `role=grid` option is added to the DataTables table, we
  should also add `role=row` to the rows in the table so the browsers
  can see them correctly. As James notes, it is debatable if this is
  needed or not but it is required in current Chrome and Webkit.

- Webkit do now allow roles to be optional in the nighties - see:
  https://bugs.webkit.org/show_bug.cgi?id=131819 . Once Apple deploy
  this in a Safari update, and Chrome also deploy support, I think this
  should be removed from DataTables core, since it will no longer be
  needed in the latest browsers, and manipulating the DOM can hit
  performance a bit.
Dev: Markdown update - add a class to lists and tables so we know when
they have been generated by markdown. Must easier for styling
Fix: Responsive CSS - two collapsing stages for the control elements

- The filter and page length controls take up a lot less room, so they
  can collapse later
Dev: Minor changes to reduce code size.

- This commit trims about 400 bytes off the min library size
Fix: Custom length menu was broken

- If you provided your own <select> list for the lenght language option,
  DataTables would still append its own and ignore your custom one

- See thread 20548
New: Add `preAjax` event so plug-in authors can add Ajax params
DataTables 1.10.0-rc.1!
Update: SQL exported compatible for MySQL, Postgres, SQLite and
SQLServer
Fix DataTables/DataTables #306 - jQuery UI class applied to all spans

- The class for sorting should only be applied to the sorting indicator
Moving on to rc.2 dev.

Not yet clear if there will be an RC2 or just move on to the release.
Fix thread 20096 - Visible column index selector

- The column index selector was broken by a previous commit (d9f416232).
- Fix also an error in the column selector whereby a result was being
  tested against itself
Fix: IE submits a form on keypress for sort

- See thread 16841
New: sessionStorage and infinite state save option

- The stateDuration option has been updated to provide the ability to
  indicate if sessionStorage should be used rather than localStorage
  (set value to -1).

- Settings stateDuration to 0 also indicates that the duration is
  infinity.

- Parts of the state saving have been optimised for code size, so this
  commit actually reduces the min size by 32 bytes despite the new
  abilities.

- See thread 19572 for discussion on this
Dev fix: Change preventDefault location to be general

- See thread 16841