Update NCBI Blast to 2.30.

Clean up Makefile. Patch configure so that we can enable 3rd party software
support more easily, fix missing options. Prefer to link dynamically.

Changes since 2.29:
- Added tblastn-fast, blastp-fast, and blastx-fast tasks. These tasks make
  use of longer words as described by Shiryev et al.
  in http://www.ncbi.nlm.nih.gov/pubmed/17921491.
- Added new output option (outfmt 12) with Seq-Align in JSON.
- Added new command line option qcov_hsp_perc that removes alignments below
  the specified query coverage.
- Added option line_length for the printing of alignment lengths (outfmt 0-4).
- Added larger gap penalties for PAM30 and PAM70 matrices.
- psiblast now accepts 0 for num_iterations to indicate iterating until
  convergence.
- rpsblast uses composition-based-statistics by default. Recover old behavior
  with "-comp_based_stats F -seg yes".
- Improved blastn multithreading performance for many queries with small
  databases.
- Changed cmdline option -sum_stats (formerly -sum_statistics) from flag
  to boolean.
- Fixed spurious messages when parsing FASTA input.
- Fixed makeprofiledb handling of PSSMs created from multiple sequence
  alignment.
- Fixed makeblastdb handling of '-' at the end of FASTA input.
- Fixed windowmasker segmentation fault when the incorrect window size
  is provided.
- Fixed problem with lower-case masking and large sequences.
- Fixed makeblastdb segmentation fault on duplicate seqids.
- Allow specification of scoring matrices in lower case letters.
- Fixed exit code when disk space is not available for the output file.
- Fixed problem with using seqids list from -outfmt "6 sseqid" as input
  with --seqidlist.
- Fixed bug with culling_limit that excludes top hit.
- Fixed bug with max_target_seqs not working with psiblast.