Move repository information files to more standardized names
Initial setup of composer and library class restructure
Initial auto-reformatting
Exclude C&A Tests from git
Fix variable type mismatch bug

The markMailAsRead(), markMailAsUnread() and markMailAsImportant()
methods all take a single mailId as a parameter, but then pass them
off to setFlag() or clearFlag(), both of which require an array of
mailsIds.

This means that a user of the library is required to call those
methods like $mailbox->markMailAsRead([$mailId]), which is not
acceptable as neither the method names (all singular form, not
plural) indicate just one value. There is also no type hint in the
parameter list indicating that an array is needed, nor any docblock
indicating this. It simply does not make sense.

This fix allows for passing a single mailId or an array of mailIds.
Fix a bug to allow proper decoding of RFC2231 data

The regex for determining if a filename title was RFC2231 compliant
is incorrect and will not correctly parse the most basic example of
an encoded filename.

At {@link} http://greenbytes.de/tech/webdav/draft-reschke-rfc2231-in-http-02.html#ISO-8859-1
Section 3.2.1, example #3 clearly shows that a valid string is

title*=iso-8859-1'en'%A3%20rates

The regex in the script does not allow for the "title*=" section at
the beginning of the string, therefore does not properly execute the
code within the if block.

The regex was modified to allow for that portion.

*** PLEASE NOTE ***
This regex is still, at best, rudimentary and will fail under a few
other scenarios of vaild RFC 2231 title.

For example, if a line length is in effect when the encoding of the
file name is done, thus causing the string to be broken up into
multiple sections, the regex will fail. An example of a valid string
that will not pass is:

" my+test+is+testing*0*=iso-8859-1'en'More%20Text%2;\r\n my+test+is+testing*1*=0to%20Test%20With"

Proper analysis of specifications needs to be performed and the
parsing implementation should be changed to conform to the
specification.
Fix a bug causing CID from embedded image to not return properly

The regex for matching a CID of an embedded image is incorrect and
will not correctly pass a basic example of a CID.

In the test case, SwiftMailer is being used to embed an image and
auto-generate the CID. The example CID generated was:

922_9d2866ced7818a61b76020a5c01c50c1@swift.generated_test_image.png

Since the regex for CID matching was set to

'/=["\'](ci?d:(\w+))["\']/i'

the "@" and "." (before the png extension) would cause the regex to
fail. The regex was changed to capture anything between the opening
and closing quotes.

*** PLEASE NOTE ***
This regex is still, at best, rudimentary and may not take into
account all appropriate values for a CID string. Proper analysis of
specifications needs to be performed and the parsing implementation
should be changed to conform to the specification.
Initial creation of legacy tests, with 96% total coverage

This version currently requires a proprietary envirnment file that
contains IMAP server connection information. This file is not part
of the repository, and will no longer be required once refactoring
to mocks has completed.

The LegacyTest.php file will eventually be refactored out to more
proper unit and integration test files.
Initial unit tests and extract hardcoded imap_* calls

* Allow for passing in an ImapResource so we can mock imap server calls
* Push all actual imap_* calls into an ImapResource (ImapServer) class
* Set up tests to allow for a tests/config/environment.yml file which
  can be used to configure actual imap server information when needing
  to run intergration tests on the ImapServer class. The .gitignore
  file has been set to disallow environment.yml so there is no worry
  of accidentally checking live server information in. There is also a
  generic environment.yml.dist to model live configurations after
* Change ImapMailbox to be an API that delegates to the ImapResource
* Get 100% coverage of IncomingMail and ImapMailbox, using mocks
* Begin refactoring relevant portions of ImapMailbox to IncomingMail
Refactor IncomingMail's mail property logic
Fix method name
[WiP] Refactor
[WiP] Refactor
[WiP] Group MailPart functions. Bug fix for attachments with no filename
[WiP] Refactored to MailPart class
[WiP] Refactored to MailParts class
[WiP] Refactored to ImapConfig class
[WiP] Refactor to MailHeader class
[WiP] Refactor to move attachment behavior to IncomingMailAttachment
[WiP]