new property isObservableArray, check value is array when using observable array

1) Added new property isObservableArray for observable arrays, so it is easier to determine if property is of observable array or just observable.

2) When an observable array gets initialized other then array, null or undefined an error is thrown. When passing a value other than array, null or undefined to an already initialized observable array, no error is thrown and the observable array loses array functionality (can't push or pull anymore) and isn't observable anymore.