Refactoring required to do page filtering in xtrabackup.

Reading the source data file is now handled by a cursor
(fil_cur.c). Writing and possibly filtering is handled 'page
filters'. Currently the write-through and incremental filters are
available, with the compact filter to be implemented later.

In order to be able split xtrabackup.c into multiple source files, all
InnoDB declarations, portability helpers and interfaces to internal
functions were moved to innodb_int.c and innodb_int.h.

Also introduced the 'tmpfile' datasink which is also a prerequisite for
incremental streaming backups.

This revision also drops support for --remote-host, as it doesn't make
sense to refactor and maintain a deprecated feature, see
https://blueprints.launchpad.net/percona-xtrabackup/+spec/drop-remote-host
Manual merge from trunk.
Manual merge from trunk.
merge 2.0
fix bad merge: opt_mysql_tmpdir has moved to innodb_int.c
fix bad innobackupex merge
Automerge from 2.0.
Automerge from 2.0.
Non-functional refactoring:

- Rename page-filt.* to write_filt.*, page_filt to write_filt in
  identifies, pf to wf in abbreviations.
- New file xtrabackup.h to contain extern declarations for
  xtrabackup.c definitions. Move xb_delta_info_t, xb_stream_fmt_t,
  xtrabackup_io_throttling and xb_write_delta declarations there from
  common.h. Add declaration for incremental_lsn there.
- Provide stub defines and declarations for posix_fadvise in case it
  is unavailable and call posix_fadvise unconditionally everywhere.
- Move get_bit_shift to common.h from innodb_int.h.
- Free ctxt in tmpfile_init on mutex initialization failure.
- wf_incremental_process: remove unused local var buf_end.
- data_copy_thread_func: remove unused local var space.
- Some whitespace fixes.
Automerge of lp:~laurynas-biveinis/percona-xtrabackup/xtrabackup-page-filters
Manual merge of the fix for bug #713267 from 2.0.  
Fixed an incorrect merge of the fix for bug #925441 (use
POSIX_FADV_DONTNEED when reading rather than right after open).
Manual merge from 2.0.
Manual merge from 2.0.
Automerge from 2.0.
Automerge from 2.0.
Bug #977652: Compressed/Uncompressed incremental backup fails on
compressed full backup in Xtrabackup 2.0.0

Re-implementation of the fix for 2.1 based on refactoring done
previously in this branch.

The problem was that xtrabackup created a compressed
xtrabackup_checkpoints file when compresses was used to create the full
backup. Which made full backups unusable for incremental backups without
decompressing them first.

Fixed by omitting compression for xtrabackup_checkpoints.
Bug976945: innodb_log_block_size=4096 is not supported
When called with --prepare xtrabackup didn't initialize
log_block_size properly.
Solution is to initialize log_block_size from inside
xtrabackup_init_temp_log when --prepare called.
Automerge from 2.0.
Manual merge from 2.0.
Automerge from 2.0.