Update for SilverStripe 3 Compatibility

Updating for SilverStripe 3.0.x and 3.1.x. The only functional change is the loss of the "first" and "last" classes. It's possible to add back in, but the FirstLast method was not working for me in 3.1.8.