Fix the following react warnings:

1. Use defaultValue instead of selected to specify the selection for the select component.
2. Change padding-left to paddingLeft.
Add ECMAScript 5 compatibility shims for legacy JavaScript engines.
Update TODOs
Add initial tests. In addition do necessary modifications to rdatatable.js to accommodate the tests.
Remove the version number from the shim and sham map file names since they are declared in the JS files without the version number.
Use createElement to create elements instead of calling them directly e.g. React.DOM.div.
Use React.createElement to create elements instead of calling them directly e.g. React.DOM.div. In addition use non minimized react.js to show console warnings.
Use render instead of renderComponent since the later will be deprecated by Facebook React in the future.
Rename getEndData to getVal.
Resolve Facebook React warning - Each child in an array should have a unique "key" prop. Check the renderComponent call using <undefined>. See http://fb.me/react-warning-keys for more information. In addition fix failing test as a result of the said change.
Add expand/collapse row feature.
Fix bug wherein content of a particular expanded row of a certain page is displayed in another page.
Add tests for expand and collapse row feature.
Show a picture gallery when row(s) is/are expanded.
Fix bug "incorrect max page displayed when data is filtered".