Rewording the example tests.

Both the positive and negtive blocks are now contained within a describe
block, indicating which method they test.
Add test for unexpected ending JSON input.

This test is more explicit than the positive and negative examples.
Add test for unparsable JSON input.

This test is also a bit more explicit than the positive and negative
examples.
Jiffy#format raise UnexpectedEnd upon empty input.
Add #cl_format to handle CL logic.

Command line logic includes things such as exit code, writing to correct
pipes (stdout/stderr) and newline endings. In essence, bin/jiffy is now
more stupid.
Refactor test cases, removing duplication.
Add handling of insufficient read permission.
Correct a bug in detecting unexpected end.

Previously, the two following ways of parsing content would yield
different error messages, even though the content is an empty string
both times.

  $ echo -n | jiffy
  Unexpected end of input

  $ echo -n > empty && jiffy empty
  Unexpected token at position 0

The reason for the differing behavior was that STDIN does not close
after reaching end-of-file, but ARGF does. With this patch, both ways
will return unexpected end of input.
Errno::ENOENT and EISDIR is now properly handled.
Switching out #read with #readpartial.

Ruby's #readpartial behaves more like the typical BSD-socket's read.
This method does not block until the size argument is fulfilled, but
returns immediately when data is available.

This allows a user to use jiffy from the command line with input from
the terminal.
Refactor test of exception handling in #cl_format.
More idomatic Arch/Linux instructions in README.
Fix issue with inputs larger than buffer size.

A bug was previously introduced that unabled the application to
correctly parse inputs larger than the buffer size of 1 MB.
Bump version.