Refactor

* Strings know self encoding, so fetch encoding from string.
Improve multibyte string support

* PHPSession#new take encoding option.

  * :internal_encoding

When this value is not nil, decoder will
convert string encoding into it.
default value is Encoding.default_internal_encoding.

  * :external_encoding

this value should be same as php session file's encoding.
Default value is Encoding.default_external_encoding.

  * encoding_option

This value is passed to String#encode

Let's see example:

  option = {
    :internal_encoding => "UTF-8",
    :external_encoding => "EUC-JP", # PHP sesion file written in ECU-JP
    :encoding_option => {:undef => :replace}
  }
  session = PHPSession.new(dir, session_id, option)
  data = session.load
  p data["key"].encoding # => UTF-8
Improve multibyte string support

now Encoder encode string value into :external_encoding
Version bump to 0.1.0
Merge branch 'feature/release_0.1.0'