Returns the index of SOURCE where the substring TARGET first appears. Arguments should be strings, case-sensitive. If ALL is true, then a list of all such indices is returned. This is currently a non-optimized implementation (TODO: replace with Boyer-moore algorithm).