Fixed expand_path to use working directory set by chdir
Make File.size return bytes instead of char count.
Fix to make a file read binary if such mode was set.
Add cast to string on binary mode check.
Change binary read fix to be compatible with ruby 1.8.7.
Add binary_mode? private method to File.
Add tests for binary read on ruby 1.9.3.
Change spec for binary_data_in_non_binary_mode to make it clear what
is going on.
Test ruby 2.0.0 but don't fail the build on it.
Add license to gemspec, is MIT
Fix Dir.foreach with relative paths.

Dir#read gets contents that are the full path (e.g. /path/to/file.txt) and then strips off the path of the directory (e.g. /path/to) before returning them (e.g. file.txt). This works fine when Dir#path is absolute, but not when it is relative. For example, this should print out "file.txt" but it was previously printing "/path/file.txt":

  FileUtils.mkdir_p("/path/to")
  File.open("/path/to/file.txt", "w") {|f| f << '' }
  Dir.chdir("/path") do
    Dir.foreach("to") do |file|
      puts file
    end
  end

The fix was to always store the normalized path as the Dir path when it is initialized. In addition I changed it to stop using the dubious gsub in favor of something that actually checks that it starts with the path.
Fix Dir.entries on ruby-2.1.0-preview2

Ruby 2.1's Dir.entries method now allows an "encoding" option.  Without this change, an ArgumentError is raised.

See also http://ruby-doc.org/core-2.1.0/Dir.html
Fix Dir.chdir nested with multiple absolute paths.

The previous implementation used File.join(*paths), which blindly concatenates path components and should not be used for path resolution.  As a result, the following has unexpected behavior:

    # EXPECTED
    #
    #   Dir.pwd => "/path/to/here"
    #   FakeFS::FileSystem.normalize_path('.') => "/path/to/here"
    #
    # ACTUAL
    #
    #   Dir.pwd => ""
    #   FakeFS::FileSystem.normalize_path('.') => "/path/to/here/path/to/here"
    #
    FileUtils.mkdir_p('/path/to/here')
    Dir.chdir('/path/to/here') do
      Dir.chdir('/path/to/here') do
        puts "Dir.pwd => #{Dir.pwd.inspect}"
        puts "FakeFS::FileSystem.normalize_path('.') => #{FakeFS::FileSystem.normalize_path('.').inspect}"
      end
    end

The fix implemented here is to use Pathname#+ to handle path resolution when there is at least one level of directories.
Merge branch 'fix-chdir-with-absolute-paths'

* fix-chdir-with-absolute-paths:
  Fix Dir.chdir nested with multiple absolute paths.
Merge pull request #208 from eventualbuddha/fix-foreach-with-relative-paths

Fix Dir.foreach with relative paths.
Merge pull request #204 from pachirel/add_ruby2_to_travis

Add ruby 2.0.0 to travis CI
Merge pull request #207 from bf4/add_license_to_gemspe

Add license to gemspec, is MIT
Merge remote-tracking branch 'vhl/fix_file_size'

* vhl/fix_file_size:
  Make File.size return bytes instead of char count.
Merge remote-tracking branch 'vhl/binary_read_fix'

* vhl/binary_read_fix:
  Change spec for binary_data_in_non_binary_mode to make it clear what is going on.
  Add tests for binary read on ruby 1.9.3.
  Add binary_mode? private method to File.
  Change binary read fix to be compatible with ruby 1.8.7.
  Add cast to string on binary mode check.
  Fix to make a file read binary if such mode was set.
Whitespace fix.