Serialize to_json when array or hash is passed
Change connection handling in specs

* Make send_* commands always read from the socket.
* Do not set keep-alive.
* Reuse waiting for connection when killing/starting up server
Upgrade rspec to 3.1 and change specs a lot
Remove log/fakes3.log
Remove dangling close_connection
Fix logic of stopping/starting fake_s3_server

fake s3 server has to be when cleanup is performed. It's rather stupid
in assuming nobody modifies files it controls, so list would return
something, but open will return 404.

Albatoss checks for existence of the file (via list), and then opens it,
and assumes that open can't fail, but it does. And the panic ensues.
Remove old code of cd in server_helper

Without the revert the directory is changed to server most of the time
(when specs are interrupted)
Kill s3 right before send_server_command
Convert specs to RSpec 3.1.2 syntax with Transpec

This conversion is done by Transpec 2.3.1 with the following command:
    transpec

* 108 conversions
    from: obj.should
      to: expect(obj).to

* 87 conversions
    from: == expected
      to: eq(expected)

* 6 conversions
    from: =~ /pattern/
      to: match(/pattern/)

* 5 conversions
    from: =~ [1, 2]
      to: match_array([1, 2])

* 3 conversions
    from: obj.should_not
      to: expect(obj).not_to

* 1 conversion
    from: < expected
      to: be < expected

For more details: https://github.com/yujinakayama/transpec#supported-conversions
Remove debug line, I forgot to remove
Require timeout
Check for lock before processing commands for locking

Cuts time of spec of lock -> unlock in half.

Also replace spinlock with a channel.
Make sure archiving is done in tests

Also wake up archiving code right away when ARCHIVE command is issued,
don't wait till internalPollTime has lapsed
Accept both \n and \r at the end of command

Update gem to send \n. \r is due to removal after gem is updated
everywhere
Making specs faster

Removed sleep, CLEANUP kicks the cleaner thread right away, and a
command to get cleaning status.
Make global lock timeout a variable value

Set it to 0.1 in tests, so global lock tests are faster. They were
spending 10 seconds just waiting for the lock that would never arrive.
There's no difference really if it waits for 10 seconds or 0.1 seconds
in tests
Do not JSONify Date and Time

When .to_json is called on date it becomes "666-06-06", instead of
666-06-06.

Somewhat fixes #7
use newer gem version + gem & admin should be moved to separate repositories at one point
Merge pull request #8 from wakoopa/json_and_cleanup

Cleanup, JSONify and speed up tests