improved logs adding vaargs and custom separators

Adds varargs for the logs, allowing the user to pass a list of Objects to be logged (using their toString() methods).

This doesn't break the API [after fix applied] but makes it less awkward to use in some situations

i.e Log.d("blabla", "blabla2", 3242342, myObject)
:x: I think if I call this method with these parameters:
```java
Log.i("Response data is", responseData, "and code is", responseHttpCode);
```
then java at compile time is going to find and use the most specific method. The most specific method is the one below
```java
public static void i(String separator, Object... msg) {
```
so it will split the parameters into `separator="Response data is"` and the rest `new Object[] {responseData, "and code is", responseHttpCode}`

The result is that it'll print something like:
```java
"[value of responseData]Response data isand code isResponse data is[responseHttpCode]"
```
but I think what you wanted to print is more like:
```java
"Response data is [value of responseData] and code is [value of responseHttpCode]"
```
![](http://i.imgur.com/B0wld.gif)