Limit L2ARC headers and don't reclaim from ARC when over "arc_meta_used"

This set of patches is not ready to land, but I would like to push it to the community in hopes of garnering some extra testing. I'm hopeful it will help with two problematic workloads:

    1. Pools with L2ARC devices "too large" relative to the size of RAM on the system
    2. Metadata heavy workloads (e.g. many concurrent rsyncs)

I've done some initial testing, and things look good, but I would appreciate some broader testing coverage (especially by people suffering from either of the two cases listed above).

To help analyze the changes in behavior of the ARC introduced by this patch, I've been logging the arcstat data to a file once every 15 seconds, and then using a script to process the arcstat logs and generate graphs. If anybody decides to pick this up and run some tests for me, I'd greatly appreciate it if you also run the following:
```
$ while true; do \
> cat /proc/spl/kstat/zfs/arcstats > ./arcstats-`hostname`-`date +%s`.txt; \
> sleep 15; \
> done
```
and share the generated logs along with any anecdotal "better" or "worse" assessments you may have.