Named Range Support

Hi Paul,

great library, I've added in support for named ranges. There are changes to some of the core code, but I've been careful with the changes and all tests still pass.