specs for Rex::Encoder::XDR

Verification
-----------

- [ ] Be sure which travis is green
- [ ] Run the specs locally and ensure all the test pass

```
$ rspec spec/lib/rex/encoder/xdr_spec.rb


WARNING: Cucumber-rails required outside of env.rb.  The rest of loading is being defered until env.rb is called.
  To avoid this warning, move 'gem cucumber-rails' under only group :test in your Gemfile
Rex::Encoder::XDR ....................................

Finished in 0.04763 seconds
36 examples, 0 failures

Randomized with seed 5417

Coverage report generated for RSpec to /Users/jvazquez/Projects/Code/metasploit-framework/coverage. 16410 / 92792 LOC (17.68%) covered.
```
This is correct according to how ```decode_int!``` is written, however I'm not sure ```decode_int!``` is implemented correctly.  To me, it is strange that ```decode_int!``` will return 0 when ```data``` literally represents 0 and when there is no data.  Also, while ```decode_int!``` does correctly "consume" ```data```, IMO it only does so when ```data``` is not nil.   When ```data``` is nil, it is set to 0 but this has no effect (right?) outside of this method.