Multiple Crouton Support

So this was a requested feature, I needed this myself.

I have picked and merged with master so this should merge straight in.

I have designed this feature to not break backwards compatibility.

By default your croutons will use the main `Manager` you can maintain and specify a manager for your croutons to use that way, you can have many managers run in parallel, useful for multiple fragments on a view pager etc...

Example:

```java
crouton.setOnClickListener(this).setCroutonManager(getCroutonManager()).show();
```
Doing the following will use the default manager:
```java
crouton.setOnClickListener(this).setCroutonManager(null).show();
crouton.setOnClickListener(this).show();
```
The following also work as per there names suggest:
```java
Crouton.clearCroutonsForActivity(getActivity()); //Clear across all managers
Crouton.cancelAllCroutons(); //Cancels across all managers
```

Again any questions/bugs let me know.