Properly handle pecl extension versions

If you force pecl to install a specific version (e.g. memcache-3.0.6), then the state gets a non-zero exit code on every subsequent check. This change makes the pecl state accept an option version that will be honored and checked correctly.

Example of bad behavior:

    $ salt web1* cmd.run 'pecl list'
    web1:
        INSTALLED PACKAGES, CHANNEL PECL.PHP.NET:
        =========================================
        PACKAGE  VERSION STATE
        memcache 3.0.6   beta
    $ salt web1* state.single pecl.installed name=memcache test=True
    web1:
    ----------
        State: - pecl
        Name:      memcache
        Function:  installed
            Result:    True
            Comment:   Pecl is already installed.
            Changes:
    $ salt web1* state.single pecl.installed name=memcache-3.0.6 test=True
    web1:
    ----------
        State: - pecl
        Name:      memcache-3.0.6
        Function:  installed
            Result:    None
            Comment:   The pecl memcache-3.0.6 would have been installed
            Changes: