Rewrite patch

Contains the following edits:
* patches now specified as faces and vertices. Less text for patches that share same vertices.
* handles polygon patches
* hyperlinked the github and fex links (clickable now)
* Added `patchOpt` practically very similar in fashion to `surfaceOpts` but more flexible and contains some fixes on top of `surfaceOpts`. Objective is to have one shader/plotType subfunction.
* `m2pgfColormap` more flexible to allow multiple colormaps. This allows to have individually colored faces or (to do) vertices with specific colors, i.e. when cdata is a 3d array (not possible before).
* Added `\usepgfplotslibrary{patchplots}` requirements in standalone and otherwise userInfo notification.

I ran acid test as of 426f62e1f809fc30d90b9ef1ddf0d1ad3b6a30fa tagged as before as 71411657452330cb907401b97c8490a3b13349c7. Both on dropbox.
before: https://www.dropbox.com/s/37ftzbbw1drwjgt/before.pdf?dl=0
after: https://www.dropbox.com/s/dmg7wbuudus4ff6/after.pdf?dl=0
 
An example of patch:

![capture](https://cloud.githubusercontent.com/assets/3731173/4816795/dbd9efa6-5ee2-11e4-9f06-7ee6eb111e80.PNG)

produced with

```matlab
close all
xdata = [2 3; 
         2 3;
         3 4;
         4 5;
         4 5];
ydata = [1 3
         2 4
         3 5
         2 4
         1 3];
zdata = ones(5,2)*10;
cdata = [15 30
         10 20
         10 30
         2   1
         5   30];
p = patch(xdata,ydata,zdata);
set(p,'FaceColor','flat','Cdata',cdata)
```

**Warning**
I will do some extensive testing on merging `surfaceOpts` and `patchOpts` and create proper testfunctions to experiment what patches can do. I expect that I got some things wrong, but this is already enough commits for now. 
I know about `addToOptions` however I am unsure about what you mean. This `patchOpts` is actually meant to mimic `surfaceOpts` with the objective to combine them in one. Note that `patchOpts` however, has substantial differences/fixes. I was planning to test patcehs and surfaces with this new `...Opts` funtionc and see if they diverge, and eventually suppress `surfaceOpts` and rename `patchOpts` into `shaderOpts`, a common function called by surface and patches.