Exchange: Fix issue need to press cancel button many times to exit

"EasCertificateRequestor" activity was recreated when rotate device,
so we need to press back key many times to exit the activities.

Don't recreate EasCertificateRequestor activity when rotate device.

CRs-Fixed: 413557

Change-Id: Iae0f5b495bbd89babd79cbc62eee0bb935f3a42b
Exchange: Support Exchange account could sync mail with given size.

 - Could sync email with given size.
 - Could load more content for special message.

Change-Id: I1f231132111eeab2c56159477431ce9fab7613fe
Exchange: Sync the mail according to the sync size selected by the user.

As the Exchange service changed to use the "EmailSyncAdapterService" instead of
the "ExchangeService", so we need implement the "loadMore" function in the new
service and support sync the mail according to the sync size.

Change-Id: I0d4e6df84c4307c860e982bd556150e68e0fcc62
Exchange: Use the LoadMore to fetch and parse the content.

Move the load more sync command to LoadMore class. After got the response,
the LoadMore will parse the content, and update the database.

Change-Id: I86ba1047ef1e80c7aab9c8ff42fb7b55677e18ce
Exchange: Add the dummy attachment as load more place holder.

 - Add the place holder attachment for the uncomplete mail.
 - Update the body's html content for viewable attachments.

CRs-fixed: 642921

Change-Id: Iba64b5ac7cfd4f02d948bc3cb4eb400d568a4165
Exchange: Fix NPE caused by the nonexistent account

During the action of syncing in onPerformSync(), if the querying
account is deleted, content resolver will return a null cursor.
When onPerformSync() continues to access this null cursor without
check, NPE is thrown.

Need to check the cursor. If it is null, there will be nothing to
sync. So stop the performance and return.

CRs-fixed: 655249

Change-Id: I857d800266a174ff1e94ab6ee2f959dcc9e5f258
Exchange: Improve the parser for the Truncated element

Some exchange server configures the Truncated element with a string
value ("true" for TRUE, "false" for FALSE) instead of a boolean
value (1 for TRUE and 0 for FALSE). So it causes a IOException and
then throw a ParserException.

Improve the parser to check the Truncated element value and return
the correct result even if the value is of the string type.

CRs-fixed: 661309

Change-Id: I2d1c810737d0dc27d87ecc259428e90682d3d9f4
Exchange: Sync code from tag "android-4.4.3_r1".

CRs-fixed: 680017

Change-Id: I3530db4d0347546ee4ab5d9ec031af8ebfdea639
Exchange: Add missing interface function from merge

Change-Id: Ieb9fb64c86456308992aaba213bd8e3500ce464a