Add Endian Modifiers '>' and '<' to Binary Struct

Add the two endian modifiers '>' and '<' specifying that
the directive should be interpretted as Big Endian or
Little Endian, respectively.  These modifiers will work
only for the following directives: I i L l Q q S s
Attempting to use the endian modifiers on other directives
will result in an exception being raised.
Add Endian Support and Fix Encoding Issues in Spec

1. Add support for the big and little endian modifier characters
'>' and '<', respectively.  Add the endian_spec.rb to test this
new support.
2. Fix binary_struct_spec.rb and gif_spec.rb tests that have been
failing since the ruby upgrade from 1.8.7 to 1.9.3 due to issues
with the binary encoding of strings.
Fix Spec Warning and Tweak Coverage

1. Remove a warning caused by reusing a constant name in two spec files.
2. Fix existing binary_struct test force_encoding twice to be consistent
in redundant case.
Modify Ruby versions for Travis

Change the .travis.yml file so that Travis no longer runs
the tests against Ruby 1.8.7 and 1.9.2 since the Endian
modifiers were not added to Array#pack until 1.9.3.  While
we're add it add Ruby 2.0.0 and 2.1.0 to the file to run
the tests against the newer Rubies.
Add style changes per @Fryguy

1. Remove jruby & rubinius 1.8 statements from .travis.yml
and add rubinius 2.
2. Undo attempts to fix Rubocop "void context" warnings which
result in redundant code in tests.
3. Simplify validate_definition_entry_modifier & rename to
valid_definition_entry_modifier? since it doesn't raise an exception
4. Simplify get_size
5. Align assignments in constant definitions when possible.
6. Remove unnecessary "()" in new lambda syntax.
Merge pull request #3 from jerryk55/endian_modifiers

Add support for Big and Little Endian modifiers