Functions for missing values, and adding another example dataset

Hi @juba,

Here are three suggested edits to `questionr`.

## 1. The `recode.na` function is now more cautious with numeric strings.

Here's the new output for each example provided in the documentation.

    > require(questionr)
    > data(hdv2003)

With exact string matches:

    > freq(recode.na(hdv2003$nivetud, "Inconnu"))
    Recoded 0 values to NA.
                                                                      n    %
    N'a jamais fait d'etudes                                         39  2.0
    A arrete ses etudes, avant la derniere annee d'etudes primaires  86  4.3
    Derniere annee d'etudes primaires                               341 17.1
    1er cycle                                                       204 10.2
    2eme cycle                                                      183  9.2
    Enseignement technique ou professionnel court                   463 23.2
    Enseignement technique ou professionnel long                    131  6.6
    Enseignement superieur y compris technique superieur            441 22.1
    NA                                                              112  5.6

With regular expressions:

    > freq(recode.na(hdv2003$relig, "[A|a]ppartenance", "Rejet|NSP"))
    Recoded 1292 values to NA.
                              n    %
    Pratiquant regulier     266 13.3
    Pratiquant occasionnel  442 22.1
    NA                     1292 64.6

Showing missing values:

    > freq(recode.na(hdv2003$clso, "Ne sait pas", verbose = TRUE))
    Recoded 27 values to NA.
                 n
    Ne sait pas 27
           n    %
    Oui  936 46.8
    Non 1037 51.8
    NA    27  1.4

Test results with `freq` (as shown above too):

    > freq(recode.na(hdv2003$trav.satisf, "Equilibre"))
    Recoded 451 values to NA.
                      n    %
    Satisfaction    480 24.0
    Insatisfaction  117  5.9
    NA             1403 70.2

Truncate a count variable (recommends numeric conversion):

    > freq(recode.na(hdv2003$freres.soeurs, 5:22))
    Recoded 505 values to NA.
    Recoded variable contains only numeric characters. Consider using as.numeric = TRUE.
         n    %
    0  167  8.3
    1  407 20.3
    2  427 21.3
    3  284 14.2
    4  210 10.5
    NA 505 25.2

I'm also coding a `freq.na` function to inspect the proportion of missing values in a vector or any number of variables.

## 2. “How much missing data?” Here's a first draft for the `freq.na` function.

The `freq.na` function lists missing values in single vectors or in data frames. It returns a data frame that looks like the one from `freq`, but with counts and percentages of missing values. The examples below are in the documentation.

Examine a single vector:

    > freq.na(hdv2003$qualif)
    missing       % 
        347      17 

Examine a data frame:

    > freq.na(hdv2003)
                missing  %
    trav.imp        952 48
    trav.satisf     952 48
    qualif          347 17
    nivetud         112  6
    heures.tv         5  0
    id                0  0
    Warning message:
    In freq.na(hdv2003) : No variables specified; showing top five results.

Examine several variables in a data frame:

    > freq.na(hdv2003, "nivetud", "trav.satisf")
                missing  %
    trav.satisf     952 48
    nivetud         112  6

Examine all variables in a data frame:

    > freq.na(hdv2003, names(hdv2003))
                  missing  %
    trav.imp          952 48
    trav.satisf       952 48
    qualif            347 17

Comments welcome :)

## 3. Adding a GSS data extract

I'd like to suggest including `happy.Rda` into `questionr`. The data is a GSS extract found in [`productplots`](https://github.com/hadley/productplots) by Hadley Wickham, who has [green-lighted](https://github.com/hadley/productplots/issues/5) the idea of also including it in `questionr`.

My pull contains the data and a slightly modified documentation file for the data extract.

We could also add an ANES extract (U.S. political survey) and an ESS extract (European-wide social survey). I'm dumping code to show where to find these datasets [in this Gist](https://gist.github.com/briatte/6114696). I could transfer that code to the `questionr` wiki if you like the idea of including more survey extracts to illustrate how the package works.

What do you think?

## Note on the general method to pass arguments to `questionr` functions

I'm trying to use a consistent method to pass arguments:

* allow all functions to take a single vector as argument `x`, which is what R expects
* allow the same functions to accept data frames and loop through all variables
* allow the same functions to accept data frames with `...` variable selections

Examples:

* `foo(hdv2003$sexe)`
* `foo(hdv2003)`
* `foo(hdv2003, "sexe")`

This seems to me like the way to support users who are handling a lot of survey data, as it allows to:

* handle a single variable
* handle a selection of variables
* handle a characteristic of the entire dataset

This is more or less inspired of how Stata works: many Stata commands accepts a `varlist` of 1+ items, or default to `*` (all variables) when no `varlist` is provided (see e.g. the [`describe`](http://www.stata.com/help.cgi?describe) and [`summarize`](http://www.stata.com/help.cgi?summarize) commands).

P.S. I'm also working on [plotting tables with ggplot2](https://github.com/ggobi/ggally/pull/25). If that works, I can try writing something related [using base graphics](http://www.r-bloggers.com/a-recipe-for-trellisfaceted-plots-using-base-r-graphics/) for `questionr`.