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. 
Parameter name `s` is very cryptic. I propose to either give it a more meaningful name or describe it with a short comment like `$ 's' is a structure containing the properties`.