Cosmetic Refactoring, Tests to New Constructor, XLSM Support

Howdy,

I've been reviewing the code and test suite in preparations for some larger changes which we're planning to make.  This pull includes:
- Cosmetic refactoring (changing order of lines, indentation, whitespace, comments)
- Completely redid Roo::Base.number_to_letter  Tests still pass
- Adjusted tests to use the new options hash, reducing the number of warnings thrown when running the suite.
- Added .xlsm to the list of accepted filetypes for Roo::Excelx
- Added tests for .xlsm files

Let me know if you have any questions.
These `self.` methods won't be affected by the `protected` call. You'll need to use a singleton class to have that work, like so:

```
  class << self
    protected
    def split_coordinate(str)
      # etc.
    end
  end
```